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
d32741b7
Commit
d32741b7
authored
Jan 30, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加备注;
修改terId; 展示Ms的条件信息;
parent
0d777680
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
272 additions
and
281 deletions
+272
-281
app/src/main/java/com/xingdata/zzdpos/App.java
app/src/main/java/com/xingdata/zzdpos/App.java
+0
-1
app/src/main/java/com/xingdata/zzdpos/api/Pay.java
app/src/main/java/com/xingdata/zzdpos/api/Pay.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/base/BaseBean.java
app/src/main/java/com/xingdata/zzdpos/base/BaseBean.java
+1
-0
app/src/main/java/com/xingdata/zzdpos/base/BaseDialog.java
app/src/main/java/com/xingdata/zzdpos/base/BaseDialog.java
+89
-5
app/src/main/java/com/xingdata/zzdpos/base/BaseFragment.java
app/src/main/java/com/xingdata/zzdpos/base/BaseFragment.java
+1
-44
app/src/main/java/com/xingdata/zzdpos/base/BaseModel.java
app/src/main/java/com/xingdata/zzdpos/base/BaseModel.java
+3
-0
app/src/main/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
...in/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
+7
-0
app/src/main/java/com/xingdata/zzdpos/base/BaseSheetDialog.java
...c/main/java/com/xingdata/zzdpos/base/BaseSheetDialog.java
+7
-4
app/src/main/java/com/xingdata/zzdpos/base/BaseSku.java
app/src/main/java/com/xingdata/zzdpos/base/BaseSku.java
+3
-1
app/src/main/java/com/xingdata/zzdpos/base/BaseViewHolder.java
...rc/main/java/com/xingdata/zzdpos/base/BaseViewHolder.java
+0
-1
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
...gdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
+0
-1
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/MsAdapter.java
.../java/com/xingdata/zzdpos/ui/store/adapter/MsAdapter.java
+111
-3
app/src/main/java/com/xingdata/zzdpos/ui/store/dialog/MsDialog.java
...in/java/com/xingdata/zzdpos/ui/store/dialog/MsDialog.java
+6
-74
app/src/main/res/layout/dialog_store_ms.xml
app/src/main/res/layout/dialog_store_ms.xml
+3
-144
app/src/main/res/layout/item_store_ms.xml
app/src/main/res/layout/item_store_ms.xml
+40
-2
No files found.
app/src/main/java/com/xingdata/zzdpos/App.java
View file @
d32741b7
...
@@ -94,7 +94,6 @@ public class App extends Application {
...
@@ -94,7 +94,6 @@ public class App extends Application {
.
build
();
.
build
();
}
}
/**
/**
* 异常处理初始化
* 异常处理初始化
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/api/Pay.java
View file @
d32741b7
...
@@ -13,7 +13,7 @@ public class Pay {
...
@@ -13,7 +13,7 @@ public class Pay {
public
Request
()
{
public
Request
()
{
setDeviceType
(
"01"
);
setDeviceType
(
"01"
);
setMch_id
(
"11"
);
setMch_id
(
"11"
);
setTer_id
(
"000000
11
"
);
setTer_id
(
"000000
98
"
);
setOrderDateTime
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
,
Locale
.
getDefault
())));
setOrderDateTime
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
,
Locale
.
getDefault
())));
setCurrencyType
(
"156"
);
setCurrencyType
(
"156"
);
setOrderName
(
"测试"
);
setOrderName
(
"测试"
);
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseBean.java
View file @
d32741b7
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
/**
/**
* BaseBean
* BaseBean
* 用于快速区分是否是本项目的类
*/
*/
public
interface
BaseBean
extends
Serializable
{
public
interface
BaseBean
extends
Serializable
{
}
}
app/src/main/java/com/xingdata/zzdpos/base/BaseDialog.java
View file @
d32741b7
...
@@ -32,6 +32,13 @@ import io.reactivex.functions.Consumer;
...
@@ -32,6 +32,13 @@ import io.reactivex.functions.Consumer;
import
io.reactivex.functions.Function
;
import
io.reactivex.functions.Function
;
/**
* BaseDialog,供新创建的Dialog继承
*
* @param <P> 其依附的Activity的Presenter的类
* @param <B> Fragment对应的ViewDataBinding
* @author Zhangzhen
*/
public
abstract
class
BaseDialog
<
P
extends
BasePresenter
,
B
extends
ViewDataBinding
>
extends
AppCompatDialogFragment
{
public
abstract
class
BaseDialog
<
P
extends
BasePresenter
,
B
extends
ViewDataBinding
>
extends
AppCompatDialogFragment
{
private
DialogBaseBinding
mBaseBinding
;
private
DialogBaseBinding
mBaseBinding
;
...
@@ -52,31 +59,54 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -52,31 +59,54 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
mContext
=
getActivity
();
mContext
=
getActivity
();
}
}
/**
* 当取消键被点击
*/
public
void
onCancelClick
(
View
view
)
{
public
void
onCancelClick
(
View
view
)
{
KeyboardUtils
.
hideSoftInput
(
mViewBinding
.
getRoot
());
KeyboardUtils
.
hideSoftInput
(
mViewBinding
.
getRoot
());
this
.
dismiss
();
this
.
dismiss
();
}
}
/**
* 当确定键被点击
*/
public
void
onConfirmClick
(
View
view
)
{
public
void
onConfirmClick
(
View
view
)
{
KeyboardUtils
.
hideSoftInput
(
mViewBinding
.
getRoot
());
KeyboardUtils
.
hideSoftInput
(
mViewBinding
.
getRoot
());
}
}
/**
* 是否显示标题
*
* @return 是否显示标题
*/
protected
boolean
isShowTitle
()
{
protected
boolean
isShowTitle
()
{
return
true
;
return
true
;
}
}
/**
* 是否为简略模式
*
* @return 是否为简略模式
*/
protected
boolean
isEasy
()
{
protected
boolean
isEasy
()
{
return
false
;
return
false
;
}
}
/**
* 设置点击键是否可用
*
* @param isEnable 是否可用
*/
protected
void
seConfirmEnable
(
boolean
isEnable
)
{
protected
void
seConfirmEnable
(
boolean
isEnable
)
{
mBaseBinding
.
btnConfirm
.
setEnabled
(
isEnable
);
mBaseBinding
.
btnConfirm
.
setEnabled
(
isEnable
);
}
}
/**
* 获取标题
*
* @return 标题
*/
public
int
getTitle
()
{
public
int
getTitle
()
{
return
R
.
string
.
all_dialog
;
return
R
.
string
.
all_dialog
;
}
}
...
@@ -96,6 +126,13 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -96,6 +126,13 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
/**
* 获取带标题和确定按钮的Dialog
*
* @param inflater inflater
* @param container container
* @return dialog
*/
private
View
getFragmentDialog
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
)
{
private
View
getFragmentDialog
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
)
{
mBaseBinding
=
DataBindingUtil
.
inflate
(
inflater
,
R
.
layout
.
dialog_base
,
container
,
false
);
mBaseBinding
=
DataBindingUtil
.
inflate
(
inflater
,
R
.
layout
.
dialog_base
,
container
,
false
);
...
@@ -115,13 +152,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -115,13 +152,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
return
mBaseBinding
.
getRoot
();
return
mBaseBinding
.
getRoot
();
}
}
/**
* 获取一个简单的Dialog
*
* @param inflater inflater
* @param container container
* @return dialog
*/
private
View
getEasyFragmentDialog
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
)
{
private
View
getEasyFragmentDialog
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
)
{
mViewBinding
=
DataBindingUtil
.
inflate
(
inflater
,
getLayoutId
(),
container
,
false
);
mViewBinding
=
DataBindingUtil
.
inflate
(
inflater
,
getLayoutId
(),
container
,
false
);
this
.
initView
();
this
.
initView
();
return
mViewBinding
.
getRoot
();
return
mViewBinding
.
getRoot
();
}
}
/**
* 获取Activity
*
* @return activity
*/
protected
BaseActivity
getBaseActivity
()
{
protected
BaseActivity
getBaseActivity
()
{
return
(
BaseActivity
)
getActivity
();
return
(
BaseActivity
)
getActivity
();
}
}
...
@@ -139,6 +187,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -139,6 +187,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
/**
* 初始化
*/
public
abstract
void
initView
();
public
abstract
void
initView
();
@Override
@Override
...
@@ -152,7 +203,11 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -152,7 +203,11 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
}
}
/**
* 显示
*
* @param activity context
*/
public
void
show
(
BaseActivity
activity
)
{
public
void
show
(
BaseActivity
activity
)
{
if
(!
isShowing
)
{
if
(!
isShowing
)
{
super
.
show
(
activity
.
getSupportFragmentManager
(),
this
.
getTag
());
super
.
show
(
activity
.
getSupportFragmentManager
(),
this
.
getTag
());
...
@@ -160,6 +215,12 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -160,6 +215,12 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
}
}
/**
* 显示,并在一定时间之后自动关闭
*
* @param activity context
* @param recLen 自动关闭的时间
*/
public
void
show
(
BaseActivity
activity
,
int
recLen
)
{
public
void
show
(
BaseActivity
activity
,
int
recLen
)
{
if
(!
isShowing
)
{
if
(!
isShowing
)
{
super
.
show
(
activity
.
getSupportFragmentManager
(),
this
.
getTag
());
super
.
show
(
activity
.
getSupportFragmentManager
(),
this
.
getTag
());
...
@@ -202,6 +263,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -202,6 +263,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
/**
* 关闭
*/
public
void
dismiss
()
{
public
void
dismiss
()
{
if
(
isShowing
)
{
if
(
isShowing
)
{
if
(
null
!=
mDisp
&&
(!
mDisp
.
isDisposed
()))
{
if
(
null
!=
mDisp
&&
(!
mDisp
.
isDisposed
()))
{
...
@@ -211,18 +275,38 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
...
@@ -211,18 +275,38 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
}
}
/**
* 设置标题
*
* @param title 标题
*/
protected
void
setTitle
(
String
title
)
{
protected
void
setTitle
(
String
title
)
{
mBaseBinding
.
tvTitle
.
setText
(
title
);
mBaseBinding
.
tvTitle
.
setText
(
title
);
}
}
/**
* 设置标题
*
* @param res 标题
*/
protected
void
setTitle
(
int
res
)
{
protected
void
setTitle
(
int
res
)
{
mBaseBinding
.
tvTitle
.
setText
(
res
);
mBaseBinding
.
tvTitle
.
setText
(
res
);
}
}
/**
* 设置取消键的点击事件
*
* @param onCancelClick 取消键的点击事件
*/
protected
void
setOnCancelClick
(
View
.
OnClickListener
onCancelClick
)
{
protected
void
setOnCancelClick
(
View
.
OnClickListener
onCancelClick
)
{
mBaseBinding
.
btnCancel
.
setOnClickListener
(
onCancelClick
);
mBaseBinding
.
btnCancel
.
setOnClickListener
(
onCancelClick
);
}
}
/**
* 设置确定键点击事件
*
* @param onConfirmClick 确定键的点击事件
*/
protected
void
setOnConfirmClick
(
View
.
OnClickListener
onConfirmClick
)
{
protected
void
setOnConfirmClick
(
View
.
OnClickListener
onConfirmClick
)
{
mBaseBinding
.
btnConfirm
.
setOnClickListener
(
onConfirmClick
);
mBaseBinding
.
btnConfirm
.
setOnClickListener
(
onConfirmClick
);
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseFragment.java
View file @
d32741b7
...
@@ -10,12 +10,9 @@ import android.support.v7.app.AppCompatDelegate;
...
@@ -10,12 +10,9 @@ import android.support.v7.app.AppCompatDelegate;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.PopupWindow
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.ActivityUtils
;
import
com.blankj.utilcode.util.KeyboardUtils
;
import
com.blankj.utilcode.util.KeyboardUtils
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.databinding.FragmentBaseBinding
;
import
me.yokeyword.fragmentation.SupportFragment
;
import
me.yokeyword.fragmentation.SupportFragment
;
...
@@ -27,12 +24,10 @@ import me.yokeyword.fragmentation.SupportFragment;
...
@@ -27,12 +24,10 @@ import me.yokeyword.fragmentation.SupportFragment;
* @author Zhangzhen
* @author Zhangzhen
*/
*/
public
abstract
class
BaseFragment
<
P
extends
BasePresenter
,
B
extends
ViewDataBinding
>
extends
SupportFragment
{
public
abstract
class
BaseFragment
<
P
extends
BasePresenter
,
B
extends
ViewDataBinding
>
extends
SupportFragment
{
public
Context
mContext
;
public
Context
mContext
;
public
P
mPresenter
;
public
P
mPresenter
;
public
B
mViewBinding
;
public
B
mViewBinding
;
static
{
static
{
AppCompatDelegate
.
setCompatVectorFromResourcesEnabled
(
true
);
AppCompatDelegate
.
setCompatVectorFromResourcesEnabled
(
true
);
}
}
...
@@ -44,27 +39,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
...
@@ -44,27 +39,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
mContext
=
ActivityUtils
.
getTopActivity
();
mContext
=
ActivityUtils
.
getTopActivity
();
mPresenter
=
(
P
)
((
BaseActivity
)
getActivity
()).
mPresenter
;
mPresenter
=
(
P
)
((
BaseActivity
)
getActivity
()).
mPresenter
;
if
(
this
instanceof
titleBar
||
this
instanceof
searchBar
)
{
return
getTitleFragmentView
(
inflater
,
container
);
}
else
{
return
getFragmentView
(
inflater
,
container
);
return
getFragmentView
(
inflater
,
container
);
}
}
}
protected
interface
titleBar
{
int
getTitleText
();
}
protected
interface
searchBar
{
int
getSearchMode
();
String
getHintText
();
void
onSearchClick
();
}
@Override
@Override
public
void
onResume
()
{
public
void
onResume
()
{
...
@@ -77,27 +53,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
...
@@ -77,27 +53,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
return
mViewBinding
.
getRoot
();
return
mViewBinding
.
getRoot
();
}
}
private
View
getTitleFragmentView
(
LayoutInflater
inflater
,
ViewGroup
container
)
{
FragmentBaseBinding
mBaseBinding
=
DataBindingUtil
.
inflate
(
inflater
,
R
.
layout
.
fragment_base
,
container
,
false
);
mBaseBinding
.
vsFragment
.
getViewStub
().
setLayoutResource
(
getLayoutId
());
mBaseBinding
.
vsFragment
.
getViewStub
().
setOnInflateListener
((
viewStub
,
view
)
->
mViewBinding
=
DataBindingUtil
.
bind
(
view
));
mBaseBinding
.
vsFragment
.
getViewStub
().
inflate
();
mBaseBinding
.
btnBack
.
setOnClickListener
(
view
->
onBackPressedSupport
());
this
.
initView
();
return
mBaseBinding
.
getRoot
();
}
public
abstract
void
initView
();
public
abstract
void
initView
();
public
void
showMainPopup
(
PopupWindow
popupWindow
,
View
view
)
{
popupWindow
.
getContentView
().
measure
(
View
.
MeasureSpec
.
UNSPECIFIED
,
View
.
MeasureSpec
.
UNSPECIFIED
);
int
x
=
(
int
)
((
popupWindow
.
getContentView
().
getMeasuredWidth
()
-
view
.
getMeasuredWidth
())
*
0.5
);
popupWindow
.
showAsDropDown
(
view
,
-
x
,
0
);
}
@Override
@Override
public
void
onDetach
()
{
public
void
onDetach
()
{
super
.
onDetach
();
super
.
onDetach
();
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseModel.java
View file @
d32741b7
package
com
.
xingdata
.
zzdpos
.
base
;
package
com
.
xingdata
.
zzdpos
.
base
;
/**
* BaseModel,需要同步的Model需要实现的接口
*/
public
interface
BaseModel
{
public
interface
BaseModel
{
Long
getSyncId
();
Long
getSyncId
();
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseSelectedAdapter.java
View file @
d32741b7
...
@@ -11,6 +11,13 @@ import com.xingdata.zzdpos.R;
...
@@ -11,6 +11,13 @@ import com.xingdata.zzdpos.R;
import
java.util.List
;
import
java.util.List
;
/**
* BaseSelectedAdapter,单选的adapter
*
* @param <T> 要展示数据的数据类型
* @param <B> Item对应的ViewDataBinding
* @author Zhangzhen
*/
public
abstract
class
BaseSelectedAdapter
<
T
,
B
extends
ViewDataBinding
>
extends
BaseQuickAdapter
<
T
,
BaseViewHolder
>
{
public
abstract
class
BaseSelectedAdapter
<
T
,
B
extends
ViewDataBinding
>
extends
BaseQuickAdapter
<
T
,
BaseViewHolder
>
{
private
int
mSelectedPosition
=
0
;
private
int
mSelectedPosition
=
0
;
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseSheetDialog.java
View file @
d32741b7
...
@@ -14,15 +14,20 @@ import android.view.View;
...
@@ -14,15 +14,20 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
/**
* BaseSheetDialog,抽屉形的Dialog
*
* @param <P> 其依附的Activity的Presenter的类
* @param <B> Fragment对应的ViewDataBinding
* @author Zhangzhen
*/
public
abstract
class
BaseSheetDialog
<
P
extends
BasePresenter
,
B
extends
ViewDataBinding
>
extends
BaseDialog
<
P
,
B
>
{
public
abstract
class
BaseSheetDialog
<
P
extends
BasePresenter
,
B
extends
ViewDataBinding
>
extends
BaseDialog
<
P
,
B
>
{
public
BottomSheetBehavior
mBehavior
;
public
BottomSheetBehavior
mBehavior
;
@NonNull
@NonNull
@Override
@Override
public
Dialog
onCreateDialog
(
Bundle
savedInstanceState
)
{
public
Dialog
onCreateDialog
(
Bundle
savedInstanceState
)
{
mContext
=
getActivity
();
mContext
=
getActivity
();
mPresenter
=
(
P
)
getBaseActivity
().
mPresenter
;
mPresenter
=
(
P
)
getBaseActivity
().
mPresenter
;
getBaseActivity
().
mDialogs
.
add
(
0
,
this
);
getBaseActivity
().
mDialogs
.
add
(
0
,
this
);
MyBottomSheetDialog
dialog
=
new
MyBottomSheetDialog
(
mContext
);
MyBottomSheetDialog
dialog
=
new
MyBottomSheetDialog
(
mContext
);
...
@@ -46,8 +51,6 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
...
@@ -46,8 +51,6 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
}
}
private
class
MyBottomSheetDialog
extends
BottomSheetDialog
{
private
class
MyBottomSheetDialog
extends
BottomSheetDialog
{
private
MyBottomSheetDialog
(
@NonNull
Context
context
)
{
private
MyBottomSheetDialog
(
@NonNull
Context
context
)
{
super
(
context
);
super
(
context
);
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseSku.java
View file @
d32741b7
package
com
.
xingdata
.
zzdpos
.
base
;
package
com
.
xingdata
.
zzdpos
.
base
;
/**
* BaseSku,各类商品需要实现的接口
*/
public
interface
BaseSku
{
public
interface
BaseSku
{
boolean
isSelected
();
boolean
isSelected
();
...
...
app/src/main/java/com/xingdata/zzdpos/base/BaseViewHolder.java
View file @
d32741b7
...
@@ -5,7 +5,6 @@ import android.view.View;
...
@@ -5,7 +5,6 @@ import android.view.View;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
/**
/**
* BaseViewHolder,集成了ViewDataBinding
* BaseViewHolder,集成了ViewDataBinding
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/fragment/EditorFragment.java
View file @
d32741b7
...
@@ -128,7 +128,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
...
@@ -128,7 +128,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
mMs
.
setMsTouchTag2
((
byte
)
C
.
MS_GROUP
.
ALL
);
mMs
.
setMsTouchTag2
((
byte
)
C
.
MS_GROUP
.
ALL
);
return
this
;
return
this
;
}
}
/**
/**
...
...
app/src/main/java/com/xingdata/zzdpos/ui/store/adapter/MsAdapter.java
View file @
d32741b7
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
adapter
;
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
adapter
;
import
com.blankj.utilcode.util.StringUtils
;
import
com.blankj.utilcode.util.TimeUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.databinding.ItemStoreMsBinding
;
import
com.xingdata.zzdpos.databinding.ItemStoreMsBinding
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.text.SimpleDateFormat
;
import
java.util.List
;
import
java.util.Locale
;
public
class
MsAdapter
extends
BaseAdapter
<
Ms
,
ItemStoreMsBinding
>
{
public
class
MsAdapter
extends
BaseAdapter
<
Ms
,
ItemStoreMsBinding
>
{
public
MsAdapter
()
{
public
MsAdapter
(
List
<
Ms
>
mss
)
{
super
(
R
.
layout
.
item_store_ms
,
new
ArrayList
<>()
);
super
(
R
.
layout
.
item_store_ms
,
mss
);
}
}
@Override
@Override
protected
void
convert
(
ItemStoreMsBinding
mViewBinding
,
Ms
item
)
{
protected
void
convert
(
ItemStoreMsBinding
mViewBinding
,
Ms
item
)
{
switch
(
item
.
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_dis
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_red_r1
);
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_promotion
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_orange_r1
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_dis
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_red_r1
);
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_money_off
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_green_r1
);
break
;
case
C
.
MS_TYPE
.
GIFT
:
mViewBinding
.
tvType
.
setText
(
R
.
string
.
ms_type_gift
);
mViewBinding
.
tvType
.
setBackgroundResource
(
R
.
drawable
.
shape_green_r1
);
break
;
}
String
[]
str
=
getMsDescription
(
item
);
mViewBinding
.
tvDescription
.
setText
(
str
[
0
]);
mViewBinding
.
tvInfo
.
setText
(
str
[
1
]);
}
/**
* 获取营销计划的文字描述
*
* @param ms 营销计划
* @return 文字描述
*/
private
String
[]
getMsDescription
(
Ms
ms
)
{
String
strGroup
=
""
,
strType
=
""
;
switch
(
ms
.
getMsTouchTag2
())
{
case
C
.
MS_GROUP
.
ALL
:
strGroup
=
mContext
.
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
BRAND
:
strGroup
=
mContext
.
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
CATE
:
strGroup
=
mContext
.
getString
(
R
.
string
.
ms_group_cate_info
,
ms
.
getCateName
());
break
;
case
C
.
MS_GROUP
.
SKU
:
String
spuName
=
DBFactory
.
Store
.
querySpuNameBySkuId
(
ms
.
getSkuId
());
strGroup
=
mContext
.
getString
(
R
.
string
.
ms_group_sku_info
,
!
StringUtils
.
isEmpty
(
spuName
)
?
spuName
:
ms
.
getSkuId
());
break
;
}
switch
(
ms
.
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
strType
=
mContext
.
getString
(
R
.
string
.
ms_type_dis_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
strType
=
mContext
.
getString
(
R
.
string
.
ms_type_promotion_info
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
strType
=
mContext
.
getString
(
R
.
string
.
ms_type_second_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
strType
=
mContext
.
getString
(
R
.
string
.
ms_type_money_off_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftOffAmt
()));
break
;
case
C
.
MS_TYPE
.
GIFT
:
strType
=
mContext
.
getString
(
R
.
string
.
ms_type_gift_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftSkuPrice
()),
ms
.
getGiftSkuName
());
break
;
}
SimpleDateFormat
df1
=
new
SimpleDateFormat
(
"yyyyMMdd"
,
Locale
.
getDefault
());
SimpleDateFormat
df2
=
new
SimpleDateFormat
(
"yyyy年M月d日"
,
Locale
.
getDefault
());
SimpleDateFormat
df3
=
new
SimpleDateFormat
(
"HHmmss"
,
Locale
.
getDefault
());
SimpleDateFormat
df4
=
new
SimpleDateFormat
(
"HH:mm"
,
Locale
.
getDefault
());
String
db
=
TimeUtils
.
date2String
(
TimeUtils
.
string2Date
(
String
.
valueOf
(
ms
.
getMsDateBegin
()),
df1
),
df2
);
String
de
=
TimeUtils
.
date2String
(
TimeUtils
.
string2Date
(
String
.
valueOf
(
ms
.
getMsDateEnd
()),
df1
),
df2
);
StringBuilder
strTimeBegin
=
new
StringBuilder
(
ms
.
getMsTimeBegin
().
toString
());
StringBuilder
strTimeEnd
=
new
StringBuilder
(
ms
.
getMsTimeEnd
().
toString
());
for
(
int
i
=
strTimeBegin
.
length
();
i
<
6
;
i
++)
{
strTimeBegin
.
insert
(
0
,
"0"
);
}
for
(
int
i
=
strTimeEnd
.
length
();
i
<
6
;
i
++)
{
strTimeEnd
.
insert
(
0
,
"0"
);
}
String
tb
=
TimeUtils
.
date2String
(
TimeUtils
.
string2Date
(
strTimeBegin
.
toString
(),
df3
),
df4
);
String
te
=
TimeUtils
.
date2String
(
TimeUtils
.
string2Date
(
strTimeEnd
.
toString
(),
df3
),
df4
);
String
weekPlan
=
""
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"1"
))
weekPlan
+=
"周日,"
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"2"
))
weekPlan
+=
"周一,"
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"3"
))
weekPlan
+=
"周二,"
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"4"
))
weekPlan
+=
"周三,"
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"5"
))
weekPlan
+=
"周四,"
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"6"
))
weekPlan
+=
"周五,"
;
if
(
ms
.
getMsWeekPlan
().
contains
(
"7"
))
weekPlan
+=
"周六,"
;
if
(
weekPlan
.
length
()
>
0
)
weekPlan
=
weekPlan
.
substring
(
0
,
weekPlan
.
lastIndexOf
(
","
));
if
(
weekPlan
.
length
()
>=
20
)
weekPlan
=
"每天"
;
return
new
String
[]{
strGroup
+
strType
,
db
+
"~"
+
de
+
"\n"
+
weekPlan
+
" "
+
tb
+
"~"
+
te
};
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/store/dialog/MsDialog.java
View file @
d32741b7
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
dialog
;
package
com
.
xingdata
.
zzdpos
.
ui
.
store
.
dialog
;
import
com.blankj.utilcode.util.StringUtils
;
import
android.support.v7.widget.LinearLayoutManager
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseSheetDialog
;
import
com.xingdata.zzdpos.base.BaseSheetDialog
;
import
com.xingdata.zzdpos.databinding.DialogStoreMsBinding
;
import
com.xingdata.zzdpos.databinding.DialogStoreMsBinding
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.ui.store.StorePresenter
;
import
com.xingdata.zzdpos.u
til.ConvertUtil
;
import
com.xingdata.zzdpos.u
i.store.adapter.MsAdapter
;
import
java.util.List
;
import
java.util.List
;
...
@@ -24,32 +23,10 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
...
@@ -24,32 +23,10 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mViewBinding
.
setDisInfo
(
""
);
mViewBinding
.
setPromotionInfo
(
""
);
mViewBinding
.
setMoneyOffInfo
(
""
);
mViewBinding
.
setGiftInfo
(
""
);
mViewBinding
.
tvClose
.
setOnClickListener
(
view
->
this
.
dismiss
());
mViewBinding
.
tvClose
.
setOnClickListener
(
view
->
this
.
dismiss
());
MsAdapter
mMsAdapter
=
new
MsAdapter
(
mMss
);
for
(
int
i
=
0
;
i
<
mMss
.
size
();
i
++)
{
mViewBinding
.
rlDis
.
setAdapter
(
mMsAdapter
);
switch
(
mMss
.
get
(
i
).
getMsTools
())
{
mViewBinding
.
rlDis
.
setLayoutManager
(
new
LinearLayoutManager
(
mContext
));
case
C
.
MS_TYPE
.
DIS
:
mViewBinding
.
setDisInfo
(
mViewBinding
.
getDisInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
mViewBinding
.
setPromotionInfo
(
mViewBinding
.
getPromotionInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
mViewBinding
.
setDisInfo
(
mViewBinding
.
getDisInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
mViewBinding
.
setMoneyOffInfo
(
mViewBinding
.
getMoneyOffInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
case
C
.
MS_TYPE
.
GIFT
:
mViewBinding
.
setGiftInfo
(
mViewBinding
.
getGiftInfo
()
+
getMsDescription
(
mMss
.
get
(
i
))
+
"\n"
);
break
;
}
}
}
}
/**
/**
...
@@ -61,49 +38,4 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
...
@@ -61,49 +38,4 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
this
.
mMss
=
mss
;
this
.
mMss
=
mss
;
return
this
;
return
this
;
}
}
/**
* 获取营销计划的文字描述
*
* @param ms 营销计划
* @return 文字描述
*/
private
String
getMsDescription
(
Ms
ms
)
{
String
strGroup
=
""
,
strType
=
""
;
switch
(
ms
.
getMsTouchTag2
())
{
case
C
.
MS_GROUP
.
ALL
:
strGroup
=
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
BRAND
:
strGroup
=
getString
(
R
.
string
.
ms_group_all_info
);
break
;
case
C
.
MS_GROUP
.
CATE
:
strGroup
=
getString
(
R
.
string
.
ms_group_cate_info
,
ms
.
getCateName
());
break
;
case
C
.
MS_GROUP
.
SKU
:
String
spuName
=
DBFactory
.
Store
.
querySpuNameBySkuId
(
ms
.
getSkuId
());
strGroup
=
getString
(
R
.
string
.
ms_group_sku_info
,
!
StringUtils
.
isEmpty
(
spuName
)
?
spuName
:
ms
.
getSkuId
());
break
;
}
switch
(
ms
.
getMsTools
())
{
case
C
.
MS_TYPE
.
DIS
:
strType
=
getString
(
R
.
string
.
ms_type_dis_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
PROMOTION
:
strType
=
getString
(
R
.
string
.
ms_type_promotion_info
);
break
;
case
C
.
MS_TYPE
.
SECOND
:
strType
=
getString
(
R
.
string
.
ms_type_second_info
,
String
.
valueOf
(
Double
.
valueOf
(
ms
.
getPriceDiscount
())
/
10
));
break
;
case
C
.
MS_TYPE
.
MONEY_OFF
:
strType
=
getString
(
R
.
string
.
ms_type_money_off_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftOffAmt
()));
break
;
case
C
.
MS_TYPE
.
GIFT
:
strType
=
getString
(
R
.
string
.
ms_type_gift_info
,
ConvertUtil
.
fenToYuan
(
ms
.
getPayAmt
()),
ConvertUtil
.
fenToYuan
(
ms
.
getGiftSkuPrice
()),
ms
.
getGiftSkuName
());
break
;
}
return
strGroup
+
strType
;
}
}
}
app/src/main/res/layout/dialog_store_ms.xml
View file @
d32741b7
...
@@ -2,29 +2,6 @@
...
@@ -2,29 +2,6 @@
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<data>
<import
type=
"android.view.View"
/>
<variable
name=
"disInfo"
type=
"String"
/>
<variable
name=
"promotionInfo"
type=
"String"
/>
<variable
name=
"moneyOffInfo"
type=
"String"
/>
<variable
name=
"giftInfo"
type=
"String"
/>
</data>
<LinearLayout
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
...
@@ -64,128 +41,10 @@
...
@@ -64,128 +41,10 @@
android:background=
"@color/gray_huanggai"
android:background=
"@color/gray_huanggai"
app:layout_constraintTop_toBottomOf=
"@id/fl_title"
/>
app:layout_constraintTop_toBottomOf=
"@id/fl_title"
/>
<android.support.v7.widget.RecyclerView
<LinearLayout
android:id=
"@+id/rl_dis"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{disInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_red_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_dis"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_dis"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{disInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{promotionInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_orange_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_promotion"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_promotion"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{promotionInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{moneyOffInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_green_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_money_off"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_money_off"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{moneyOffInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"top|start"
android:paddingBottom=
"@dimen/all_margin"
android:paddingEnd=
"@dimen/all_margin"
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
android:visibility=
"@{giftInfo.length()>0?View.VISIBLE:View.GONE}"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_blue_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_gift"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_gift"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
/>
android:layout_marginStart=
"@dimen/all_margin"
android:lineSpacingExtra=
"@dimen/all_spacing"
android:text=
"@{giftInfo}"
android:textColor=
"@color/black_baozheng"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_store_ms.xml
View file @
d32741b7
...
@@ -5,8 +5,46 @@
...
@@ -5,8 +5,46 @@
<android.support.constraint.ConstraintLayout
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:paddingEnd=
"@dimen/all_margin"
android:foreground=
"?android:attr/selectableItemBackground"
>
android:paddingStart=
"@dimen/all_margin"
android:paddingTop=
"@dimen/all_margin"
>
<TextView
android:id=
"@+id/tv_type"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_red_r1"
android:paddingBottom=
"@dimen/all_shape_radius"
android:paddingEnd=
"@dimen/all_spacing"
android:paddingStart=
"@dimen/all_spacing"
android:paddingTop=
"@dimen/all_shape_radius"
android:text=
"@string/ms_type_dis"
android:textColor=
"@color/white_caocao"
/>
<TextView
android:id=
"@+id/tv_description"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"@dimen/all_margin"
android:gravity=
"center_vertical"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_body_size"
app:layout_constraintLeft_toRightOf=
"@id/tv_type"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/tv_type"
/>
<TextView
android:id=
"@+id/tv_info"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_spacing"
android:layout_marginTop=
"@dimen/all_spacing"
android:textColor=
"@color/black_likui"
android:textSize=
"@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"@id/tv_description"
app:layout_constraintRight_toRightOf=
"@id/tv_description"
app:layout_constraintTop_toBottomOf=
"@id/tv_description"
/>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
...
...
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