Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王海
TangKuPos
Commits
3be2eb03
Commit
3be2eb03
authored
Dec 26, 2017
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
StoreActivity;
parent
c9670b70
Changes
28
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
821 additions
and
95 deletions
+821
-95
app/src/main/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
...in/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/base/BaseSheetDialog.java
...c/main/java/com/xingdata/zzdpos/base/BaseSheetDialog.java
+5
-2
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
+47
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
...main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
+79
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
...main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
+50
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
...ain/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
+151
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SaledetailAdapter.java
...m/xingdata/zzdpos/ui/store/adapter/SaledetailAdapter.java
+4
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkuAdapter.java
...java/com/xingdata/zzdpos/ui/store/adapter/SkuAdapter.java
+53
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkugrpAdapter.java
...a/com/xingdata/zzdpos/ui/store/adapter/SkugrpAdapter.java
+3
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/dialog/CartDialog.java
.../java/com/xingdata/zzdpos/ui/store/dialog/CartDialog.java
+26
-0
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
.../com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
+97
-1
app/src/main/res/layout/dialog_store_cart.xml
app/src/main/res/layout/dialog_store_cart.xml
+9
-3
app/src/main/res/layout/fragment_store.xml
app/src/main/res/layout/fragment_store.xml
+45
-2
app/src/main/res/layout/fragment_store_search.xml
app/src/main/res/layout/fragment_store_search.xml
+3
-35
app/src/main/res/layout/item_store_saledatail.xml
app/src/main/res/layout/item_store_saledatail.xml
+118
-0
app/src/main/res/layout/item_store_sku.xml
app/src/main/res/layout/item_store_sku.xml
+104
-1
app/src/main/res/layout/item_store_skugrp.xml
app/src/main/res/layout/item_store_skugrp.xml
+24
-48
app/src/main/res/mipmap-hdpi/icon_goods_default.png
app/src/main/res/mipmap-hdpi/icon_goods_default.png
+0
-0
app/src/main/res/mipmap-xhdpi/but_increase01.png
app/src/main/res/mipmap-xhdpi/but_increase01.png
+0
-0
app/src/main/res/mipmap-xhdpi/but_increase02.png
app/src/main/res/mipmap-xhdpi/but_increase02.png
+0
-0
app/src/main/res/mipmap-xhdpi/but_reduce.png
app/src/main/res/mipmap-xhdpi/but_reduce.png
+0
-0
app/src/main/res/mipmap-xxhdpi/but_increase01.png
app/src/main/res/mipmap-xxhdpi/but_increase01.png
+0
-0
app/src/main/res/mipmap-xxhdpi/but_increase02.png
app/src/main/res/mipmap-xxhdpi/but_increase02.png
+0
-0
app/src/main/res/mipmap-xxhdpi/but_reduce.png
app/src/main/res/mipmap-xxhdpi/but_reduce.png
+0
-0
app/src/main/res/mipmap-xxxhdpi/but_increase01.png
app/src/main/res/mipmap-xxxhdpi/but_increase01.png
+0
-0
app/src/main/res/mipmap-xxxhdpi/but_increase02.png
app/src/main/res/mipmap-xxxhdpi/but_increase02.png
+0
-0
app/src/main/res/mipmap-xxxhdpi/but_reduce.png
app/src/main/res/mipmap-xxxhdpi/but_reduce.png
+0
-0
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+2
-0
No files found.
app/src/main/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
View file @
3be2eb03
...
...
@@ -38,7 +38,7 @@ public abstract class BaseSelectedAdapter<T, B extends ViewDataBinding> extends
notifyItemChanged
(
mSelectedPosition
);
notifyItemChanged
(
position
);
mSelectedPosition
=
position
;
if
(!
this
.
isAutoClickItem
)
{
if
(
mOnItemClickListener
!=
null
&&
!
this
.
isAutoClickItem
)
{
mOnItemClickListener
.
onItemClick
(
this
,
view
,
mSelectedPosition
);
}
});
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseSheetDialog.java
View file @
3be2eb03
...
...
@@ -29,9 +29,11 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
dialog
.
setContentView
(
mViewBinding
.
getRoot
());
mBehavior
=
BottomSheetBehavior
.
from
((
View
)
mViewBinding
.
getRoot
().
getParent
());
this
.
initView
();
return
dialog
;
}
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
return
null
;
...
...
@@ -39,7 +41,8 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
private
class
MyBottomSheetDialog
extends
BottomSheetDialog
{
public
MyBottomSheetDialog
(
@NonNull
Context
context
)
{
private
MyBottomSheetDialog
(
@NonNull
Context
context
)
{
super
(
context
);
}
...
...
@@ -50,7 +53,7 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
getWindow
().
setLayout
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
screenHeight
==
0
?
ViewGroup
.
LayoutParams
.
MATCH_PARENT
:
screenHeight
);
}
int
getScreenHeight
(
Context
context
)
{
private
int
getScreenHeight
(
Context
context
)
{
WindowManager
wm
=
(
WindowManager
)
context
.
getSystemService
(
Context
.
WINDOW_SERVICE
);
return
wm
!=
null
?
wm
.
getDefaultDisplay
().
getHeight
()
:
0
;
}
...
...
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
View file @
3be2eb03
package
com
.
xingdata
.
zzdpos
.
db
;
import
com.blankj.utilcode.util.StringUtils
;
import
com.xingdata.zzdpos.App
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
com.xingdata.zzdpos.model.HandoverInfo
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Sssku
;
import
com.xingdata.zzdpos.ui.main.MainPresenter
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.util.StringUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -50,6 +54,49 @@ public class DBFactory {
public
static
class
Store
{
/**
* 分页查询商品
*
* @param pageNum 页面
* @param skuGrpId 分组ID
* @return 商品List
*/
public
static
Observable
<
List
<
Sssku
>>
querySku
(
int
pageNum
,
Long
skuGrpId
)
{
RealmQuery
<
Sssku
>
query
=
DB
.
getInstance
().
get
(
MainPresenter
.
class
).
where
(
Sssku
.
class
);
//skuGrpId
if
(
skuGrpId
!=
null
&&
skuGrpId
>
0
)
query
.
equalTo
(
"skuGrpId"
,
skuGrpId
);
//skuStatus
query
.
equalTo
(
"skuStatus"
,
0
);
return
Observable
.
just
(
query
.
findAll
()).
flatMap
(
ssskus
->
Observable
.
just
(
getLimitList
(
ssskus
,
pageNum
,
C
.
PRODUCT
.
PAGE_SIZE
)));
}
/**
* 分页查询商品
*
* @param pageNum 页面
* @param keyword 关键字
* @return 商品List
*/
public
static
Observable
<
List
<
Sssku
>>
querySku
(
int
pageNum
,
String
keyword
)
{
RealmQuery
<
Sssku
>
query
=
DB
.
getInstance
().
get
(
MainPresenter
.
class
).
where
(
Sssku
.
class
);
long
_keyword
=
StringUtil
.
strToLong
(
keyword
);
//keyword
if
(!
StringUtils
.
isEmpty
(
keyword
))
{
query
.
beginGroup
()
.
contains
(
"spuName"
,
keyword
)
.
or
().
contains
(
"spuAb"
,
keyword
.
toUpperCase
());
if
(
_keyword
>
0
)
query
.
or
().
equalTo
(
"spuBarcode"
,
_keyword
);
query
.
endGroup
();
}
//skuStatus
query
.
equalTo
(
"skuStatus"
,
0
);
return
Observable
.
just
(
query
.
findAll
()).
flatMap
(
ssskus
->
Observable
.
just
(
getLimitList
(
ssskus
,
pageNum
,
C
.
PRODUCT
.
PAGE_SIZE
)));
}
/**
* 查询商品分组
*
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
View file @
3be2eb03
...
...
@@ -5,10 +5,33 @@ import android.view.inputmethod.EditorInfo;
import
com.blankj.utilcode.util.KeyboardUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseSku
;
import
com.xingdata.zzdpos.databinding.ActivityStoreBinding
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.store.dialog.CartDialog
;
import
com.xingdata.zzdpos.ui.store.dialog.MsDialog
;
import
com.xingdata.zzdpos.ui.store.fragment.ScanFragment
;
import
com.xingdata.zzdpos.ui.store.fragment.SearchFragment
;
import
com.xingdata.zzdpos.ui.store.fragment.StoreFragment
;
import
java.util.List
;
public
class
StoreActivity
extends
BaseActivity
<
StorePresenter
,
ActivityStoreBinding
>
implements
StoreContract
.
View
{
private
StoreFragment
mStoreFragment
=
new
StoreFragment
();
private
SearchFragment
mSearchFragment
=
new
SearchFragment
();
private
ScanFragment
mScanFragment
=
new
ScanFragment
();
private
CartDialog
mCartDialog
=
new
CartDialog
();
private
MsDialog
mMsDialog
=
new
MsDialog
();
private
LoadingDialog
mLoadingDialog
=
new
LoadingDialog
();
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_store
;
...
...
@@ -16,6 +39,8 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public
void
initView
()
{
loadRootFragment
(
R
.
id
.
f_store
,
mStoreFragment
);
mViewBinding
.
ivCart
.
setOnClickListener
(
view
->
mPresenter
.
clickCartLogo
());
mViewBinding
.
tvSettle
.
setOnClickListener
(
view
->
mPresenter
.
clickSettle
());
...
...
@@ -27,4 +52,58 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
return
false
;
});
}
@Override
public
<
Sku
extends
BaseSku
>
void
loadSkus
(
List
<
Sku
>
skus
,
boolean
isRefresh
)
{
mStoreFragment
.
loadSkus
(
skus
,
isRefresh
);
}
@Override
public
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
)
{
mStoreFragment
.
loadSkugrps
(
sskugrps
);
}
@Override
public
void
loadSkugrpState
(
Long
skugrpId
)
{
}
@Override
public
void
loadMss
(
List
<
Ms
>
mss
)
{
}
@Override
public
<
Sku
extends
BaseSku
>
void
loadSearchResult
(
List
<
Sku
>
skus
,
boolean
isRefresh
)
{
}
@Override
public
void
loadSaleorder
(
Saleorder
saleorder
)
{
mViewBinding
.
setCartCount
(
saleorder
.
getOrderCnt
());
mViewBinding
.
setOrderPayAmt
(
saleorder
.
getOrderPayAmt
());
mViewBinding
.
setMsDisAmt
(
saleorder
.
getMsDisAmt
());
}
@Override
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
,
boolean
isRefresh
)
{
mStoreFragment
.
loadSaledetails
(
saledetails
,
isRefresh
);
}
@Override
public
void
showLoadingDialog
()
{
mLoadingDialog
.
show
(
this
);
}
@Override
public
void
dismissLoadingDialog
()
{
mLoadingDialog
.
dismiss
();
}
@Override
public
void
showCartDialog
(
Saleorder
saleorder
,
List
<
Saledetail
>
saledetails
)
{
mCartDialog
.
setSaleorder
(
saleorder
).
setSaledetails
(
saledetails
).
show
(
this
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreContract.java
View file @
3be2eb03
...
...
@@ -5,6 +5,7 @@ import com.xingdata.zzdpos.base.BaseSku;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
java.util.List
;
...
...
@@ -28,6 +29,13 @@ interface StoreContract {
*/
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
);
/**
* 加载分组选中状态
*
* @param skugrpId 分组ID
*/
void
loadSkugrpState
(
Long
skugrpId
);
/**
* 加载营销方案
*
...
...
@@ -44,6 +52,39 @@ interface StoreContract {
*/
<
Sku
extends
BaseSku
>
void
loadSearchResult
(
List
<
Sku
>
skus
,
boolean
isRefresh
);
/**
* 加载订单信息
*
* @param saleorder 订单信息
*/
void
loadSaleorder
(
Saleorder
saleorder
);
/**
* 加载购物车信息
*
* @param saledetails 购物详情列表
* @param isRefresh 是否刷新列表
*/
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
,
boolean
isRefresh
);
/**
* 显示读取对话框
*/
void
showLoadingDialog
();
/**
* 隐藏读取对话框
*/
void
dismissLoadingDialog
();
/**
* 显示购物车
*
* @param saleorder 订单信息
* @param saledetails 购物车信息
*/
void
showCartDialog
(
Saleorder
saleorder
,
List
<
Saledetail
>
saledetails
);
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
...
...
@@ -78,6 +119,11 @@ interface StoreContract {
*/
public
abstract
void
searchSku
(
String
keyword
);
/**
* 搜索页面 - 加载更多搜索结果
*/
public
abstract
void
loadMoreSearchResult
();
/**
* 商店页面 - 切换分组
*
...
...
@@ -101,7 +147,6 @@ interface StoreContract {
*/
public
abstract
<
Sku
extends
BaseSku
>
void
clickRemoveSku
(
Sku
sku
);
/**
* 购物车页面 - 点击添加购物信息
*
...
...
@@ -116,6 +161,10 @@ interface StoreContract {
*/
public
abstract
void
clickRemoveSaledetail
(
Saledetail
saledetail
);
/**
* 购物车列表 - 关闭
*/
public
abstract
void
onCartDialogCancel
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/StorePresenter.java
View file @
3be2eb03
...
...
@@ -4,11 +4,24 @@ import com.xingdata.zzdpos.base.BaseSku;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.model.Vip
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
StorePresenter
extends
StoreContract
.
Presenter
{
/**
* 当前会员
*/
private
Vip
mVip
;
/**
* 当前订单信息
*/
private
Saleorder
mSaleorder
;
/**
* 当前购物车信息
*/
...
...
@@ -28,6 +41,10 @@ public class StorePresenter extends StoreContract.Presenter {
@Override
public
void
onAttached
()
{
this
.
initRealm
();
mVip
=
Vip
.
createDefault
();
mSaledetails
=
new
ArrayList
<>();
mSaleorder
=
new
Saleorder
();
}
@Override
...
...
@@ -36,22 +53,40 @@ public class StorePresenter extends StoreContract.Presenter {
@Override
public
void
clickCartLogo
()
{
mView
.
showCartDialog
(
mSaleorder
,
mSaledetails
);
}
@Override
public
void
initStore
()
{
this
.
getSkugrp
();
this
.
refreshSku
();
}
@Override
public
void
refreshSku
()
{
this
.
mStorePageNum
=
0
;
this
.
mSkuGrpId
=
0L
;
mView
.
loadSkugrpState
(
mSkuGrpId
);
this
.
getStoreSku
();
}
@Override
public
void
loadMoreSku
()
{
this
.
mStorePageNum
++;
this
.
getStoreSku
();
}
@Override
public
void
searchSku
(
String
keyword
)
{
this
.
mSearchPageNum
=
0
;
this
.
mKeyword
=
keyword
;
this
.
getSearchSku
();
}
@Override
public
void
loadMoreSearchResult
()
{
this
.
mSearchPageNum
++;
this
.
getSearchSku
();
}
@Override
...
...
@@ -60,21 +95,57 @@ public class StorePresenter extends StoreContract.Presenter {
@Override
public
<
Sku
extends
BaseSku
>
void
clickAddSku
(
Sku
sku
)
{
//更新购物车信息
updateCart
(
sku
,
1
);
//发送购物车信息(不需要刷新页面)
mView
.
loadSaledetails
(
mSaledetails
,
false
);
//设置订单信息
mSaleorder
.
setSaledetails
(
mSaledetails
);
//统计订单信息
this
.
reprice
();
}
@Override
public
<
Sku
extends
BaseSku
>
void
clickRemoveSku
(
Sku
sku
)
{
//更新购物车信息
updateCart
(
sku
,
-
1
);
//发送购物车信息(不需要刷新页面)
mView
.
loadSaledetails
(
mSaledetails
,
false
);
//设置订单信息
mSaleorder
.
setSaledetails
(
mSaledetails
);
//统计订单信息
this
.
reprice
();
}
@Override
public
void
clickAddSaledetail
(
Saledetail
saledetail
)
{
//更新购物车信息
updateCart
(
saledetail
,
1
);
//设置订单信息
mSaleorder
.
setSaledetails
(
mSaledetails
);
//统计订单信息
this
.
reprice
();
}
@Override
public
void
clickRemoveSaledetail
(
Saledetail
saledetail
)
{
updateCart
(
saledetail
,
-
1
);
//设置订单信息
mSaleorder
.
setSaledetails
(
mSaledetails
);
//统计订单信息
this
.
reprice
();
}
@Override
public
void
onCartDialogCancel
()
{
//发送购物车信息并刷新页面
mView
.
loadSaledetails
(
mSaledetails
,
true
);
}
/**
* 获取商品分组
*/
private
void
getSkugrp
()
{
mCompositeDisposable
.
add
(
DBFactory
.
Store
.
querySkugrp
().
subscribe
(
...
...
@@ -95,4 +166,84 @@ public class StorePresenter extends StoreContract.Presenter {
})
);
}
/**
* 搜索商品
*/
private
void
getStoreSku
()
{
mView
.
showLoadingDialog
();
mCompositeDisposable
.
add
(
DBFactory
.
Store
.
querySku
(
mStorePageNum
,
mSkuGrpId
)
.
doOnSubscribe
(
subscription
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
ssskus
->
mView
.
loadSkus
(
ssskus
,
mStorePageNum
==
0
))
);
}
/**
* 搜索商品
*/
private
void
getSearchSku
()
{
mView
.
showLoadingDialog
();
mCompositeDisposable
.
add
(
DBFactory
.
Store
.
querySku
(
mSearchPageNum
,
mKeyword
)
.
doOnSubscribe
(
subscription
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
ssskus
->
mView
.
loadSearchResult
(
ssskus
,
mSearchPageNum
==
0
))
);
}
/**
* 操作购物车商品
*
* @param sku 要操作的商品
* @param value 变化的数量
*/
private
<
T
extends
BaseSku
>
void
updateCart
(
T
sku
,
int
value
)
{
for
(
int
i
=
0
;
i
<
mSaledetails
.
size
();
i
++)
{
if
(
sku
.
getSkuId
().
longValue
()
==
mSaledetails
.
get
(
i
).
getSkuId
())
{
int
count
=
mSaledetails
.
get
(
i
).
getDetailCnt
()
+
value
;
if
(
count
>
0
)
{
mSaledetails
.
get
(
i
).
setCount
(
mSaledetails
.
get
(
i
).
getDetailCnt
()
+
value
);
}
else
{
mSaledetails
.
remove
(
i
);
}
return
;
}
}
if
(
value
>
0
)
{
Saledetail
saledetail
=
Saledetail
.
create
(
sku
,
mVip
);
saledetail
.
setDetailCnt
(
value
);
mSaledetails
.
add
(
0
,
saledetail
);
}
}
/**
* 操作购物车商品
*
* @param saledetail 购物车信息
* @param value 变化的数值
*/
private
void
updateCart
(
Saledetail
saledetail
,
int
value
)
{
for
(
int
i
=
0
;
i
<
mSaledetails
.
size
();
i
++)
{
if
(
saledetail
.
getSkuId
().
longValue
()
==
mSaledetails
.
get
(
i
).
getSkuId
())
{
int
count
=
mSaledetails
.
get
(
i
).
getDetailCnt
()
+
value
;
if
(
count
>
0
)
{
mSaledetails
.
get
(
i
).
setCount
(
mSaledetails
.
get
(
i
).
getDetailCnt
()
+
value
);
}
else
{
mSaledetails
.
remove
(
i
);
}
return
;
}
}
}
/**
* 统计订单信息
*/
private
void
reprice
()
{
mSaleorder
.
settle
();
mView
.
loadSaleorder
(
mSaleorder
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SaledetailAdapter.java
0 → 100644
View file @
3be2eb03
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
adapter
;
public
class
SaledetailAdapter
{
}
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkuAdapter.java
View file @
3be2eb03
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
adapter
;
import
android.support.annotation.Nullable
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.base.BaseSku
;
import
com.xingdata.zzdpos.databinding.ItemStoreSkuBinding
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.ui.store.fragment.StoreFragment
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
SkuAdapter
<
T
extends
BaseSku
>
extends
BaseAdapter
<
T
,
ItemStoreSkuBinding
>
{
private
List
<
Saledetail
>
mSaledetails
;
public
SkuAdapter
()
{
super
(
R
.
layout
.
item_store_sku
,
new
ArrayList
<>());
this
.
mSaledetails
=
new
ArrayList
<>();
}
private
StoreFragment
.
OnCountChangeListener
mOnCountChangeListener
;
public
void
setSaledetails
(
List
<
Saledetail
>
saledetails
)
{
this
.
mSaledetails
=
saledetails
;
}
public
void
setOnCountChangeListener
(
StoreFragment
.
OnCountChangeListener
onCountChangeListener
)
{
this
.
mOnCountChangeListener
=
onCountChangeListener
;
}
@Override
protected
void
convert
(
ItemStoreSkuBinding
mViewBinding
,
T
item
)
{
mViewBinding
.
ivPic
.
setImageURI
(
item
.
getSpuImg
());
mViewBinding
.
tvName
.
setText
(
item
.
getSpuName
());
mViewBinding
.
tvAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
item
.
getSkuRetailPrice1
()));
mViewBinding
.
ivIncrease
.
setOnClickListener
(
view
->
{
if
(
mViewBinding
.
getCount
()
>=
99
)
return
;
mViewBinding
.
setCount
(
mViewBinding
.
getCount
()
+
1
);
mViewBinding
.
ivIncrease
.
setImageResource
(
mViewBinding
.
getCount
()
>
0
?
R
.
mipmap
.
but_increase01
:
R
.
mipmap
.
but_increase02
);
if
(
mOnCountChangeListener
!=
null
)
{
mOnCountChangeListener
.
onCountChange
(
item
,
1
);
}
});
mViewBinding
.
ivReduce
.
setOnClickListener
(
view
->
{
mViewBinding
.
setCount
(
mViewBinding
.
getCount
()
-
1
);
mViewBinding
.
ivIncrease
.
setImageResource
(
mViewBinding
.
getCount
()
>
0
?
R
.
mipmap
.
but_increase01
:
R
.
mipmap
.
but_increase02
);
if
(
mOnCountChangeListener
!=
null
)
{
mOnCountChangeListener
.
onCountChange
(
item
,
-
1
);
}
});
mViewBinding
.
setCount
(
0
);
for
(
int
i
=
0
;
i
<
mSaledetails
.
size
();
i
++)
{
if
(
mSaledetails
.
get
(
i
).
getSkuId
().
longValue
()
==
item
.
getSkuId
())
{
mViewBinding
.
setCount
(
mSaledetails
.
get
(
i
).
getDetailCnt
());
break
;
}
}
mViewBinding
.
ivIncrease
.
setImageResource
(
mViewBinding
.
getCount
()
>
0
?
R
.
mipmap
.
but_increase01
:
R
.
mipmap
.
but_increase02
);
}
@Override
public
void
setOnItemClickListener
(
@Nullable
OnItemClickListener
listener
)
{
super
.
setOnItemClickListener
(
listener
);
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/SkugrpAdapter.java
View file @
3be2eb03
...
...
@@ -16,6 +16,8 @@ public class SkugrpAdapter extends BaseSelectedAdapter<Sskugrp, ItemStoreSkugrpB
@Override
protected
void
convert
(
BaseViewHolder
helper
,
ItemStoreSkugrpBinding
mViewBinding
,
Sskugrp
item
)
{
mViewBinding
.
setSelected
(
getSelectedPosition
()
==
helper
.
getAdapterPosition
());
mViewBinding
.
tvName
.
getPaint
().
setFakeBoldText
(
getSelectedPosition
()
==
helper
.
getAdapterPosition
());
mViewBinding
.
tvName
.
setText
(
item
.
getSkuGrpName
());
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/dialog/CartDialog.java
View file @
3be2eb03
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
dialog
;
import
android.content.DialogInterface
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseSheetDialog
;
import
com.xingdata.zzdpos.databinding.DialogStoreCartBinding
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
java.util.List
;
public
class
CartDialog
extends
BaseSheetDialog
<
StorePresenter
,
DialogStoreCartBinding
>
{
private
Saleorder
mSaleorder
;
private
List
<
Saledetail
>
mSaledetails
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
dialog_store_cart
;
...
...
@@ -16,5 +25,22 @@ public class CartDialog extends BaseSheetDialog<StorePresenter, DialogStoreCartB
@Override
public
void
initView
()
{
}
public
CartDialog
setSaleorder
(
Saleorder
saleorder
)
{
this
.
mSaleorder
=
saleorder
;
return
this
;
}
public
CartDialog
setSaledetails
(
List
<
Saledetail
>
saledetails
)
{
this
.
mSaledetails
=
saledetails
;
return
this
;
}
@Override
public
void
onDismiss
(
DialogInterface
dialog
)
{
super
.
onDismiss
(
dialog
);
mPresenter
.
onCartDialogCancel
();
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/fragment/StoreFragment.java
View file @
3be2eb03
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
fragment
;
import
android.annotation.SuppressLint
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.view.View
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseSku
;
import
com.xingdata.zzdpos.databinding.FragmentStoreBinding
;
import
com.xingdata.zzdpos.model.Saledetail
;
import
com.xingdata.zzdpos.model.Sskugrp
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.ui.store.adapter.SkuAdapter
;
import
com.xingdata.zzdpos.ui.store.adapter.SkugrpAdapter
;
import
java.util.List
;
public
class
StoreFragment
extends
BaseFragment
<
StorePresenter
,
FragmentStoreBinding
>
{
private
SkuAdapter
mSkuAdapter
;
private
SkugrpAdapter
mSkugrpAdapter
;
public
interface
OnCountChangeListener
{
void
onCountChange
(
BaseSku
sku
,
int
value
);
}
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
fragment_store
_search
;
return
R
.
layout
.
fragment_store
;
}
@Override
public
void
initView
()
{
// init sku
mSkuAdapter
=
new
SkuAdapter
<>();
mViewBinding
.
rlSku
.
setAdapter
(
mSkuAdapter
);
mViewBinding
.
rlSku
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// init skugrp
mSkugrpAdapter
=
new
SkugrpAdapter
();
mViewBinding
.
rlSkugrp
.
setAdapter
(
mSkugrpAdapter
);
mViewBinding
.
rlSkugrp
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
// set sku listener
mViewBinding
.
srlSku
.
setOnRefreshListener
(
this
::
refreshSku
);
mSkuAdapter
.
setOnLoadMoreListener
(
this
::
loadMoreSku
,
mViewBinding
.
rlSku
);
mSkuAdapter
.
setOnCountChangeListener
((
sku
,
value
)
->
{
if
(
value
>
0
)
mPresenter
.
clickAddSku
(
sku
);
else
mPresenter
.
clickRemoveSku
(
sku
);
});
// set grp listener
mSkugrpAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
mPresenter
.
clickSkugrp
(
mSkugrpAdapter
.
getData
().
get
(
position
)));
// set empty
@SuppressLint
(
"InflateParams"
)
View
view
=
getLayoutInflater
().
inflate
(
R
.
layout
.
view_empty
,
null
);
mSkuAdapter
.
setEmptyView
(
view
);
mSkuAdapter
.
isUseEmpty
(
false
);
// init data
mPresenter
.
initStore
();
}
/**
* 刷新商品
*/
private
void
refreshSku
()
{
mSkuAdapter
.
setEnableLoadMore
(
false
);
mPresenter
.
refreshSku
();
}
/**
* 加载更多商品
*/
private
void
loadMoreSku
()
{
mPresenter
.
loadMoreSku
();
}
/**
* 加载商品分组
*
* @param sskugrps 商品分组
*/
public
void
loadSkugrps
(
List
<
Sskugrp
>
sskugrps
)
{
mSkugrpAdapter
.
setNewData
(
sskugrps
);
}
/**
* 加载商品
*
* @param skus 商品
* @param isRefresh 是否刷新
* @param <Sku> 商品类型
*/
public
<
Sku
extends
BaseSku
>
void
loadSkus
(
List
<
Sku
>
skus
,
boolean
isRefresh
)
{
if
(
isRefresh
)
{
mSkuAdapter
.
isUseEmpty
(
true
);
mSkuAdapter
.
setEnableLoadMore
(
true
);
mViewBinding
.
srlSku
.
setRefreshing
(
false
);
mSkuAdapter
.
setNewData
(
skus
);
}
else
if
(
skus
.
size
()
>
0
)
mSkuAdapter
.
addData
(
skus
);
if
(
skus
.
size
()
<
C
.
PRODUCT
.
PAGE_SIZE
)
mSkuAdapter
.
loadMoreEnd
(
isRefresh
);
else
mSkuAdapter
.
loadMoreComplete
();
}
/**
* 加载购物车信息
*
* @param saledetails 购物车信息
*/
public
void
loadSaledetails
(
List
<
Saledetail
>
saledetails
,
boolean
isRefresh
)
{
mSkuAdapter
.
setSaledetails
(
saledetails
);
if
(
isRefresh
)
mSkuAdapter
.
notifyDataSetChanged
();
}
}
app/src/main/res/layout/dialog_store_cart.xml
View file @
3be2eb03
...
...
@@ -2,11 +2,17 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<LinearLayout
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"
wrap_content
"
android:background=
"@
drawable/transparent_border
"
android:layout_width=
"
match_par
ent"
android:layout_height=
"
200dp
"
android:background=
"@
color/red_xishi
"
android:gravity=
"center"
android:orientation=
"vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"50dp"
android:text=
"测试测试测试"
android:textColor=
"@color/white_caocao"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_store.xml
View file @
3be2eb03
...
...
@@ -2,11 +2,54 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<
android.support.design.widget.Coordinato
rLayout
<
Linea
rLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
</android.support.design.widget.CoordinatorLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_gravity=
"bottom"
android:background=
"@color/gray_huanggai"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/gray_huanggai"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"horizontal"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_skugrp"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
/>
<android.support.v4.widget.SwipeRefreshLayout
android:id=
"@+id/srl_sku"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"3"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_sku"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_store_search.xml
View file @
3be2eb03
...
...
@@ -13,50 +13,18 @@
android:background=
"@color/gray_zhouyu"
android:orientation=
"vertical"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_gravity=
"bottom"
android:background=
"@color/gray_huanggai"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/gray_huanggai"
/>
<LinearLayout
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_sku"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"horizontal"
>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_skugrp"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:background=
"@color/green_kongrong"
>
</android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id=
"@+id/rl_sku"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"3"
android:background=
"@color/blue_mawu"
>
</android.support.v7.widget.RecyclerView>
android:background=
"@color/blue_mawu"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_store_saledatail.xml
0 → 100644
View file @
3be2eb03
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"count"
type=
"int"
/>
</data>
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/iv_pic"
android:layout_width=
"80dp"
android:layout_height=
"80dp"
app:failureImage=
"@mipmap/icon_goods_default"
app:placeholderImage=
"@mipmap/icon_goods_default"
app:roundedCornerRadius=
"@dimen/all_shape_radius"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lines=
"2"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
app:layout_constraintLeft_toRightOf=
"@id/iv_pic"
app:layout_constraintRight_toRightOf=
"parent"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_spacing"
app:layout_constraintBottom_toBottomOf=
"@id/ll_count"
app:layout_constraintLeft_toLeftOf=
"@id/tv_name"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/money_rmb"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_caption_size"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_amt"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_text_size"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_count"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_spacing"
android:animateLayoutChanges=
"true"
android:gravity=
"center"
app:layout_constraintBottom_toBottomOf=
"@id/iv_pic"
app:layout_constraintRight_toRightOf=
"@id/tv_name"
>
<ImageView
android:id=
"@+id/iv_reduce"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:contentDescription=
"@string/store_reduce"
android:foreground=
"?android:attr/actionBarItemBackground"
android:src=
"@mipmap/but_reduce"
android:visibility=
"@{count>0?View.VISIBLE:View.INVISIBLE}"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_marginStart=
"@dimen/all_spacing"
android:text=
'@{count+""}'
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/all_sub_title_size"
android:visibility=
"@{count>0?View.VISIBLE:View.INVISIBLE}"
/>
<ImageView
android:id=
"@+id/iv_increase"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:contentDescription=
"@string/store_increase"
android:foreground=
"?android:attr/actionBarItemBackground"
android:src=
"@mipmap/but_increase02"
/>
</LinearLayout>
<View
android:layout_width=
"0dp"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/gray_kongming"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/iv_pic"
/>
</android.support.constraint.ConstraintLayout>
</layout>
app/src/main/res/layout/item_store_sku.xml
View file @
3be2eb03
...
...
@@ -2,11 +2,114 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"count"
type=
"int"
/>
</data>
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:foreground=
"?android:attr/selectableItemBackground"
>
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/iv_pic"
android:layout_width=
"80dp"
android:layout_height=
"80dp"
app:failureImage=
"@mipmap/icon_goods_default"
app:placeholderImage=
"@mipmap/icon_goods_default"
app:roundedCornerRadius=
"@dimen/all_shape_radius"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lines=
"2"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
app:layout_constraintLeft_toRightOf=
"@id/iv_pic"
app:layout_constraintRight_toRightOf=
"parent"
/>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_spacing"
app:layout_constraintBottom_toBottomOf=
"@id/ll_count"
app:layout_constraintLeft_toLeftOf=
"@id/tv_name"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/money_rmb"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_caption_size"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_amt"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textColor=
"@color/red_guanyu"
android:textSize=
"@dimen/all_text_size"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_count"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/all_spacing"
android:animateLayoutChanges=
"true"
android:gravity=
"center"
app:layout_constraintBottom_toBottomOf=
"@id/iv_pic"
app:layout_constraintRight_toRightOf=
"@id/tv_name"
>
<ImageView
android:id=
"@+id/iv_reduce"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:contentDescription=
"@string/store_reduce"
android:foreground=
"?android:attr/actionBarItemBackground"
android:src=
"@mipmap/but_reduce"
android:visibility=
"@{count>0?View.VISIBLE:View.INVISIBLE}"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_spacing"
android:layout_marginStart=
"@dimen/all_spacing"
android:text=
'@{count+""}'
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/all_sub_title_size"
android:visibility=
"@{count>0?View.VISIBLE:View.INVISIBLE}"
/>
<ImageView
android:id=
"@+id/iv_increase"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:contentDescription=
"@string/store_increase"
android:foreground=
"?android:attr/actionBarItemBackground"
android:src=
"@mipmap/but_increase02"
/>
</LinearLayout>
<View
android:layout_width=
"0dp"
android:layout_height=
"@dimen/all_line_width"
android:layout_marginTop=
"@dimen/all_margin"
android:background=
"@color/gray_kongming"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/iv_pic"
/>
</android.support.constraint.ConstraintLayout>
...
...
app/src/main/res/layout/item_store_skugrp.xml
View file @
3be2eb03
...
...
@@ -4,61 +4,37 @@
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"selected"
type=
"boolean"
/>
</data>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<FrameLayout
android:layout_width=
"120dp"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/white_caocao"
android:foreground=
"?android:attr/selectableItemBackground"
>
<View
android:layout_width=
"@dimen/all_spacing"
android:layout_height=
"@dimen/all_sub_title_size"
android:layout_gravity=
"center_vertical"
android:background=
"@color/red_guanyu"
/>
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:text=
"全部商品"
android:textStyle=
"bold"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
/>
</FrameLayout>
<FrameLayout
android:layout_width=
"120dp"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/gray_zhouyu"
android:foreground=
"?android:attr/selectableItemBackground"
>
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:textStyle=
"normal"
android:text=
"全部商品"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_text_size"
/>
</FrameLayout>
</LinearLayout>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@{selected?@color/white_caocao:@color/transparent}"
android:foreground=
"?android:attr/selectableItemBackground"
>
<View
android:layout_width=
"@dimen/all_spacing"
android:layout_height=
"@dimen/all_sub_title_size"
android:layout_gravity=
"center_vertical"
android:background=
"@color/red_guanyu"
android:visibility=
"@{selected?View.VISIBLE:View.GONE}"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@{selected?@dimen/all_sub_title_size:@dimen/all_text_size}"
/>
</FrameLayout>
</layout>
...
...
app/src/main/res/mipmap-hdpi/icon_goods_default.png
0 → 100644
View file @
3be2eb03
5.57 KB
app/src/main/res/mipmap-xhdpi/but_increase01.png
0 → 100644
View file @
3be2eb03
1.72 KB
app/src/main/res/mipmap-xhdpi/but_increase02.png
0 → 100644
View file @
3be2eb03
1.72 KB
app/src/main/res/mipmap-xhdpi/but_reduce.png
0 → 100644
View file @
3be2eb03
2.06 KB
app/src/main/res/mipmap-xxhdpi/but_increase01.png
0 → 100644
View file @
3be2eb03
2.17 KB
app/src/main/res/mipmap-xxhdpi/but_increase02.png
0 → 100644
View file @
3be2eb03
2.24 KB
app/src/main/res/mipmap-xxhdpi/but_reduce.png
0 → 100644
View file @
3be2eb03
2.81 KB
app/src/main/res/mipmap-xxxhdpi/but_increase01.png
0 → 100644
View file @
3be2eb03
2.62 KB
app/src/main/res/mipmap-xxxhdpi/but_increase02.png
0 → 100644
View file @
3be2eb03
2.64 KB
app/src/main/res/mipmap-xxxhdpi/but_reduce.png
0 → 100644
View file @
3be2eb03
3.43 KB
app/src/main/res/values/strings.xml
View file @
3be2eb03
...
...
@@ -537,6 +537,8 @@
<string
name=
"store_ms_dis"
>
已减
</string>
<string
name=
"store_scan"
>
扫描
</string>
<string
name=
"store_search_hint"
>
请输入商品名称/助记码/条码
</string>
<string
name=
"store_reduce"
>
减少
</string>
<string
name=
"store_increase"
>
添加
</string>
<!--帮助POS-->
<string
name=
"help_hint"
>
帮助
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment