Commit c5709921 authored by 陈前's avatar 陈前

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/com/xingdata/zzdpos/base/BaseDialog.java
parents f98d7f9a 716b71ec
......@@ -71,7 +71,7 @@ public class App extends Application {
.start();
// 初始化异常处理
// initEx();
initEx();
//初始化Fragment框架
initFragment();
......@@ -95,7 +95,6 @@ public class App extends Application {
.build();
}
/**
* 异常处理初始化
*/
......
......@@ -13,7 +13,7 @@ public class Pay {
public Request() {
setDeviceType("01");
setMch_id("11");
setTer_id("00000011");
setTer_id("00000098");
setOrderDateTime(TimeUtils.getNowString(new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault())));
setCurrencyType("156");
setOrderName("测试");
......
......@@ -4,6 +4,7 @@ import java.io.Serializable;
/**
* BaseBean
* 用于快速区分是否是本项目的类
*/
public interface BaseBean extends Serializable {
}
......@@ -34,6 +34,13 @@ import io.reactivex.functions.Consumer;
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 {
private DialogBaseBinding mBaseBinding;
......@@ -54,31 +61,54 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
mContext = getActivity();
}
/**
* 当取消键被点击
*/
public void onCancelClick(View view) {
KeyboardUtils.hideSoftInput(mViewBinding.getRoot());
this.dismiss();
}
/**
* 当确定键被点击
*/
public void onConfirmClick(View view) {
KeyboardUtils.hideSoftInput(mViewBinding.getRoot());
}
/**
* 是否显示标题
*
* @return 是否显示标题
*/
protected boolean isShowTitle() {
return true;
}
/**
* 是否为简略模式
*
* @return 是否为简略模式
*/
protected boolean isEasy() {
return false;
}
/**
* 设置点击键是否可用
*
* @param isEnable 是否可用
*/
protected void seConfirmEnable(boolean isEnable) {
mBaseBinding.btnConfirm.setEnabled(isEnable);
}
/**
* 获取标题
*
* @return 标题
*/
public int getTitle() {
return R.string.all_dialog;
}
......@@ -98,6 +128,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) {
mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false);
......@@ -117,13 +154,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
return mBaseBinding.getRoot();
}
/**
* 获取一个简单的Dialog
*
* @param inflater inflater
* @param container container
* @return dialog
*/
private View getEasyFragmentDialog(@NonNull LayoutInflater inflater, ViewGroup container) {
mViewBinding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false);
this.initView();
return mViewBinding.getRoot();
}
/**
* 获取Activity
*
* @return activity
*/
protected BaseActivity getBaseActivity() {
return (BaseActivity) getActivity();
}
......@@ -141,6 +189,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
/**
* 初始化
*/
public abstract void initView();
@Override
......@@ -154,7 +205,11 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
/**
* 显示
*
* @param activity context
*/
public void show(BaseActivity activity) {
if (!isShowing) {
super.show(activity.getSupportFragmentManager(), this.getTag());
......@@ -162,6 +217,12 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
/**
* 显示,并在一定时间之后自动关闭
*
* @param activity context
* @param recLen 自动关闭的时间
*/
public void show(BaseActivity activity, int recLen) {
if (!isShowing) {
super.show(activity.getSupportFragmentManager(), this.getTag());
......@@ -204,6 +265,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
/**
* 关闭
*/
public void dismiss() {
if (isShowing) {
if (null != mDisp && (!mDisp.isDisposed())) {
......@@ -213,10 +277,20 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
/**
* 设置标题
*
* @param title 标题
*/
protected void setTitle(String title) {
mBaseBinding.tvTitle.setText(title);
}
/**
* 设置标题
*
* @param res 标题
*/
protected void setTitle(int res) {
mBaseBinding.tvTitle.setText(res);
}
......
......@@ -10,12 +10,9 @@ import android.support.v7.app.AppCompatDelegate;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.FragmentBaseBinding;
import me.yokeyword.fragmentation.SupportFragment;
......@@ -27,12 +24,10 @@ import me.yokeyword.fragmentation.SupportFragment;
* @author Zhangzhen
*/
public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBinding> extends SupportFragment {
public Context mContext;
public P mPresenter;
public B mViewBinding;
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
......@@ -44,27 +39,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mContext = ActivityUtils.getTopActivity();
mPresenter = (P) ((BaseActivity) getActivity()).mPresenter;
if (this instanceof titleBar || this instanceof searchBar) {
return getTitleFragmentView(inflater, container);
} else {
return getFragmentView(inflater, container);
}
}
protected interface titleBar {
int getTitleText();
}
protected interface searchBar {
int getSearchMode();
String getHintText();
void onSearchClick();
}
@Override
public void onResume() {
......@@ -77,27 +53,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
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 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
public void onDetach() {
super.onDetach();
......
package com.xingdata.zzdpos.base;
/**
* BaseModel,需要同步的Model需要实现的接口
*/
public interface BaseModel {
Long getSyncId();
......
......@@ -11,6 +11,13 @@ import com.xingdata.zzdpos.R;
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> {
private int mSelectedPosition = 0;
......
......@@ -14,15 +14,20 @@ import android.view.View;
import android.view.ViewGroup;
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 BottomSheetBehavior mBehavior;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
mContext = getActivity();
mPresenter = (P) getBaseActivity().mPresenter;
getBaseActivity().mDialogs.add(0, this);
MyBottomSheetDialog dialog = new MyBottomSheetDialog(mContext);
......@@ -46,8 +51,6 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
}
private class MyBottomSheetDialog extends BottomSheetDialog {
private MyBottomSheetDialog(@NonNull Context context) {
super(context);
}
......
package com.xingdata.zzdpos.base;
/**
* BaseSku,各类商品需要实现的接口
*/
public interface BaseSku {
boolean isSelected();
......
......@@ -5,7 +5,6 @@ import android.view.View;
import com.xingdata.zzdpos.R;
/**
* BaseViewHolder,集成了ViewDataBinding
*/
......
......@@ -139,10 +139,10 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
closeLoading(loadingDialog);
promptDialog.dismiss();
if (SPUtils.getInstance().getBoolean(loginReturnBean.getOperMobile() + "")) {
if (SPUtils.getInstance().getBoolean(SystemUtil.getApplicationName() + "")) {
mPresenter.startUi();
} else {
SPUtils.getInstance().put(loginReturnBean.getOperMobile() + "", true);
SPUtils.getInstance().put(SystemUtil.getApplicationName(), true);
start(mPresenter.selectIndustryFragment);
}
}
......@@ -330,8 +330,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
} else if (getTopFragment() instanceof SelectIndustryFragment) {
mPresenter.logout();
SPUtils.getInstance().put(LoginPresenter.loginReturnBean.getOperMobile() + "",
false);
SPUtils.getInstance().put(SystemUtil.getApplicationName(), false);
pop();
} else {
pop();
......
......@@ -14,6 +14,7 @@ import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.ui.login.adapter.SelectIndustryAdapter;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
import com.xingdata.zzdpos.util.SystemUtil;
import java.util.ArrayList;
import java.util.List;
......@@ -56,8 +57,7 @@ public class SelectIndustryFragment extends BaseFragment<LoginPresenter,
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
SPUtils.getInstance().put(LoginPresenter.loginReturnBean.getOperMobile() + "",
false);
SPUtils.getInstance().put(SystemUtil.getApplicationName(), false);
mPresenter.logout();
pop();
}
......
......@@ -65,7 +65,6 @@ public class SignInFragment extends BaseFragment<LoginPresenter,
// }
// }).show((BaseActivity) getActivity());
// }
mViewBinding.setOnClickListener(
new OnClickListener() {
@Override
......
package com.xingdata.zzdpos.ui.main;
import android.content.Context;
import android.databinding.DataBindingUtil;
import android.support.design.widget.TabLayout;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.Toast;
import com.blankj.utilcode.util.ActivityUtils;
import com.xingdata.api.print.ZX_PrintPOS;
......@@ -32,7 +28,6 @@ import java.util.List;
import io.reactivex.Observable;
import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
......@@ -210,5 +205,13 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
}
@Override
protected void onDestroy() {
try {
ZX_PrintPOS.getInstance(this).Destory();
} catch (Exception e) {
}
super.onDestroy();
}
}
......@@ -97,7 +97,7 @@ public class BaleEditFragment extends BaseFragment<BalePresenter, FragmentBaleEd
mViewBinding.rvImgList.setLayoutManager(new GridLayoutManager(mContext, 3));
mViewBinding.rvImgList.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration
(3, 10, true));
(3, 3, true));
mViewBinding.etShopMoney.setFilters(InputFilters.getMoneyFilter(5, 2));
mViewBinding.setOnClickListener(new OnClickListener() {
@Override
......
package com.xingdata.zzdpos.ui.manage.bale.fragment;
import android.annotation.SuppressLint;
import android.view.KeyEvent;
import android.view.View;
import android.widget.TextView;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
......@@ -11,7 +9,6 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentBaleSeachBinding;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.bale.BalePresenter;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.util.OnClickListener;
/**
......@@ -37,32 +34,30 @@ public class BaleSeachFragment extends BaseFragment<BalePresenter, FragmentBaleS
pop();
}
break;
case R.id.btn_seach: {
seach(mViewBinding.etKeyword
.getText().toString());
}
break;
default: {
}
break;
}
}
}
);
mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction
(TextView textView, int i,
KeyEvent keyEvent) {
seach(mViewBinding.etKeyword
.getText().toString());
return false;
}
}
);
Global.setFocus(mViewBinding.etKeyword, getActivity());
// mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
// @Override
// public boolean onEditorAction
// (TextView textView, int i,
// KeyEvent keyEvent) {
// seach(mViewBinding.etKeyword
// .getText().toString());
// return false;
// }
// }
//
// );
mViewBinding.vSearch.setOnSearchListener(keyword -> {
mViewBinding.vSearch.hideSoftInput();
loadingDialog.show((BaseActivity) getActivity());
seach(keyword);
});
mViewBinding.vSearch.setHint("请输入商品名称/助记码/条码");
mViewBinding.vSearch.setEmptyEnabled(true);
mViewBinding.vSearch.showSoftInput();
}
public void seach(String str) {
......
......@@ -2,7 +2,6 @@ package com.xingdata.zzdpos.ui.manage.bale.fragment;
import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager;
import android.view.KeyEvent;
import android.view.View;
import android.widget.TextView;
......@@ -15,7 +14,6 @@ import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.bale.BalePresenter;
import com.xingdata.zzdpos.ui.manage.bale.adpter.EditDialogQueryShopItemAdapter;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.ArrayList;
......@@ -63,11 +61,11 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
}
loadingDialog.show((BaseActivity) getActivity());
if (barCode != null) {
mViewBinding.etKeyword.setText(barCode);
mViewBinding.vSearch.setText(barCode);
mPresenter.queryShopItem(barCode, true,
loadingDialog);
} else {
mPresenter.queryShopItem(mViewBinding.etKeyword.getText().toString(), true,
mPresenter.queryShopItem("", true,
loadingDialog);
}
......@@ -80,15 +78,15 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
pop();
}
break;
case R.id.btn_seach: {
loadingDialog.show((BaseActivity)
getActivity());
mPresenter.queryShopItem(mViewBinding
.etKeyword.getText()
.toString(),
true, loadingDialog);
}
break;
// case R.id.btn_seach: {
// loadingDialog.show((BaseActivity)
// getActivity());
// mPresenter.queryShopItem(mViewBinding
// .etKeyword.getText()
// .toString(),
// true, loadingDialog);
// }
// break;
default: {
}
......@@ -97,26 +95,36 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
}
}
);
mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction
(TextView textView, int i,
KeyEvent keyEvent) {
loadingDialog.show((BaseActivity)
getActivity());
mPresenter.queryShopItem
(mViewBinding
.etKeyword
.getText()
.toString(),
true,
loadingDialog);
return false;
}
}
);
// mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
// @Override
// public boolean onEditorAction
// (TextView textView, int i,
// KeyEvent keyEvent) {
// loadingDialog.show((BaseActivity)
// getActivity());
// mPresenter.queryShopItem
// (mViewBinding
//
// .etKeyword
//
// .getText()
//
// .toString(),
// true,
// loadingDialog);
// return false;
// }
// }
// );
mViewBinding.vSearch.setOnSearchListener(keyword -> {
mViewBinding.vSearch.hideSoftInput();
loadingDialog.show((BaseActivity) getActivity());
mPresenter.queryShopItem(keyword, true, loadingDialog);
});
mViewBinding.vSearch.setHint("请输入商品名称/助记码/条码");
mViewBinding.vSearch.setEmptyEnabled(true);
mViewBinding.vSearch.showSoftInput();
}
......@@ -130,7 +138,7 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
queryShopItemAdapter.setNewData(nowData);
getEmptyView("没有数据");
}
Global.setFocus(mViewBinding.etKeyword, getActivity());
mViewBinding.vSearch.showSoftInput();
}
public void setAddData(List<Sssku> addData, Boolean isLoadMore) {
......@@ -143,7 +151,7 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
queryShopItemAdapter.addData(nowData);
getEmptyView("没有数据");
}
Global.setFocus(mViewBinding.etKeyword, getActivity());
mViewBinding.vSearch.showSoftInput();
}
/**
......
......@@ -128,7 +128,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
mMs.setMsTouchTag2((byte) C.MS_GROUP.ALL);
return this;
}
/**
......
......@@ -6,9 +6,11 @@ import android.view.View;
import android.widget.TextView;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.sendticke.SendTicketPresenter;
import com.xingdata.zzdpos.ui.sendticke.adapter.VipAdapter;
import com.xingdata.zzdpos.ui.settle.SettleActivity;
......@@ -23,6 +25,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
@SuppressLint("InflateParams")
View emptyView;
TextView noSeachData;
LoadingDialog loadingDialog = new LoadingDialog();
@Override
public int getLayoutId() {
......@@ -66,8 +69,11 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
});
mViewBinding.vSearch.setOnSearchListener(keyword -> {
mViewBinding.vSearch.hideSoftInput();
loadingDialog.show((BaseActivity) getActivity());
mPresenter.searchVip(keyword);
});
mViewBinding.vSearch.setHint("请输入会员手机号进行搜索");
// mViewBinding.vSearch.setEmptyEnabled(true);
mViewBinding.vSearch.showSoftInput();
}
......@@ -77,6 +83,9 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
* @param vips 会员列表
*/
public void loadVips(List<Vip> vips) {
if (loadingDialog != null && loadingDialog.isShowing) {
loadingDialog.dismiss();
}
if (vips.size() == 0) {
noSeachData.setText(R.string.settle_vip_search_empty_no_seach);
mVipAdapter.setEmptyView(emptyView);
......
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.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemStoreMsBinding;
import com.xingdata.zzdpos.db.DBFactory;
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 MsAdapter() {
super(R.layout.item_store_ms, new ArrayList<>());
public MsAdapter(List<Ms> mss) {
super(R.layout.item_store_ms, mss);
}
@Override
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};
}
}
package com.xingdata.zzdpos.ui.store.dialog;
import com.blankj.utilcode.util.StringUtils;
import com.xingdata.zzdpos.C;
import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogStoreMsBinding;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.ui.store.StorePresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.ui.store.adapter.MsAdapter;
import java.util.List;
......@@ -24,32 +23,10 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
@Override
public void initView() {
mViewBinding.setDisInfo("");
mViewBinding.setPromotionInfo("");
mViewBinding.setMoneyOffInfo("");
mViewBinding.setGiftInfo("");
mViewBinding.tvClose.setOnClickListener(view -> this.dismiss());
for (int i = 0; i < mMss.size(); i++) {
switch (mMss.get(i).getMsTools()) {
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;
}
}
MsAdapter mMsAdapter = new MsAdapter(mMss);
mViewBinding.rlDis.setAdapter(mMsAdapter);
mViewBinding.rlDis.setLayoutManager(new LinearLayoutManager(mContext));
}
/**
......@@ -61,49 +38,4 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
this.mMss = mss;
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;
}
}
......@@ -83,7 +83,7 @@ public class SearchBar extends ConstraintLayout {
mViewBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.view_search_bar, this, true);
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> {
if (i == EditorInfo.IME_ACTION_SEARCH) {
if (i == EditorInfo.IME_ACTION_SEARCH||i==EditorInfo.IME_ACTION_UNSPECIFIED) {
String str = mViewBinding.etSearch.getText().toString();
if (StringUtils.isEmpty(str) && !isEmptyEnabled) {
ToastUtils.showShort("请输入搜索内容");
......
......@@ -92,7 +92,8 @@
android:id="@+id/ll_bottom"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_weight="1.5"
android:gravity="center"
android:orientation="horizontal">
<Button
......@@ -107,11 +108,10 @@
android:textColor="@drawable/selector_gray_button_text_color"/>
<Button
style="@style/button_positive_allradius"
android:id="@+id/btn_ok"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/selector_gradient_red_button_background"
android:layout_width="@dimen/button1_width"
android:layout_height="@dimen/button1_height"
android:onClick="@{onClickListener}"
android:text="@{ok}"
android:textColor="@color/white"/>
......
......@@ -2,29 +2,6 @@
<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="disInfo"
type="String" />
<variable
name="promotionInfo"
type="String" />
<variable
name="moneyOffInfo"
type="String" />
<variable
name="giftInfo"
type="String" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -64,128 +41,10 @@
android:background="@color/gray_huanggai"
app:layout_constraintTop_toBottomOf="@id/fl_title" />
<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="@{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.support.v7.widget.RecyclerView
android:id="@+id/rl_dis"
android:layout_width="match_parent"
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>
android:layout_height="wrap_content" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -309,7 +309,6 @@
android:layout_marginTop="@dimen/all_padding"
android:layout_weight="1"
android:background="@drawable/shape_black"
android:paddingLeft="@dimen/all_bounced_spacing"
android:paddingRight="@dimen/all_bounced_spacing"></android.support.v7.widget.RecyclerView>
</LinearLayout>
</LinearLayout>
......
......@@ -36,62 +36,72 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:padding="@dimen/all_margin"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout
<com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_padding"
android:layout_marginEnd="@dimen/all_margin"
android:gravity="center|left"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent">
app:layout_constraintTop_toTopOf="parent"/>
<!--<LinearLayout-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginEnd="@dimen/all_margin"-->
<!--android:gravity="center|left"-->
<!--app:layout_constraintBottom_toTopOf="parent"-->
<!--app:layout_constraintLeft_toRightOf="@id/btn_back"-->
<!--app:layout_constraintRight_toRightOf="parent"-->
<!--app:layout_constraintTop_toBottomOf="parent">-->
<EditText
android:id="@+id/et_keyword"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_marginEnd="@dimen/all_padding"
android:layout_weight="1"
android:background="@drawable/shape_gray_r1"
android:clickable="true"
android:drawableLeft="@mipmap/ic_search"
android:drawablePadding="@dimen/all_spacing"
android:enabled="true"
android:gravity="center|left"
android:hint="@string/store_search_hint"
android:maxLength="20"
android:maxLines="1"
android:onClick="@{OnClickListener}"
android:paddingLeft="@dimen/all_padding"
android:saveEnabled="false"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"/>
<!--<EditText-->
<!--android:id="@+id/et_keyword"-->
<!--style="@style/searchBarEditor"-->
<!--android:layout_width="0dp"-->
<!--android:layout_marginEnd="@dimen/all_spacing"-->
<!--android:layout_weight="1"-->
<!--android:background="@drawable/shape_gray_r1"-->
<!--android:clickable="true"-->
<!--android:drawableLeft="@mipmap/ic_search"-->
<!--android:drawablePadding="@dimen/all_spacing"-->
<!--android:enabled="true"-->
<!--android:gravity="center|left"-->
<!--android:hint="@string/store_search_hint"-->
<!--android:maxLength="20"-->
<!--android:maxLines="1"-->
<!--android:onClick="@{OnClickListener}"-->
<!--android:paddingLeft="@dimen/all_padding"-->
<!--android:saveEnabled="false"-->
<!--android:textColor="@color/black_likui"-->
<!--android:textSize="@dimen/all_text_size_low"/>-->
<TextView
android:id="@+id/btn_seach"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/transparent"
android:contentDescription="@string/store_scan"
android:foreground="?android:attr/actionBarItemBackground"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:text="搜索"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_body_size"
/>
<!--<TextView-->
<!--android:id="@+id/btn_seach"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:background="@color/transparent"-->
<!--android:contentDescription="@string/store_scan"-->
<!--android:foreground="?android:attr/actionBarItemBackground"-->
<!--android:gravity="center"-->
<!--android:onClick="@{OnClickListener}"-->
<!--android:text="搜索"-->
<!--android:textColor="@color/black_baozheng"-->
<!--android:textSize="@dimen/all_body_size"-->
<!--/>-->
</LinearLayout>
<!--</LinearLayout>-->
<View
android:layout_width="match_parent"
......
......@@ -34,56 +34,65 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="wrap_content"
android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding"
android:padding="@dimen/all_margin"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout
<com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_padding"
android:gravity="center"
app:layout_constraintBottom_toTopOf="parent"
android:layout_height="0dp"
app:hint="@string/store_search_hint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="parent">
app:layout_constraintTop_toTopOf="parent"/>
<!--<LinearLayout-->
<!--android:layout_width="0dp"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginEnd="@dimen/all_margin"-->
<!--android:gravity="center"-->
<!--app:layout_constraintBottom_toTopOf="parent"-->
<!--app:layout_constraintLeft_toRightOf="@id/btn_back"-->
<!--app:layout_constraintRight_toRightOf="parent"-->
<!--app:layout_constraintTop_toBottomOf="parent">-->
<EditText
android:id="@+id/et_keyword"
style="@style/searchBarEditor"
android:layout_width="0dp"
android:layout_marginEnd="@dimen/all_padding"
android:layout_weight="1"
android:focusable="true"
android:hint="@string/store_search_hint"
android:imeOptions="actionSearch"
android:inputType="text"
android:labelFor="@+id/et_search"
android:saveEnabled="false"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"/>
<!--<EditText-->
<!--android:id="@+id/et_keyword"-->
<!--style="@style/searchBarEditor"-->
<!--android:layout_width="0dp"-->
<!--android:layout_marginEnd="@dimen/all_spacing"-->
<!--android:layout_weight="1"-->
<!--android:focusable="true"-->
<!--android:hint="@string/store_search_hint"-->
<!--android:imeOptions="actionSearch"-->
<!--android:inputType="text"-->
<!--android:labelFor="@+id/et_search"-->
<!--android:saveEnabled="false"-->
<!--android:textColor="@color/black_likui"-->
<!--android:textSize="@dimen/all_text_size_low"/>-->
<TextView
android:id="@+id/btn_seach"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@color/transparent"
android:contentDescription="@string/store_scan"
android:foreground="?android:attr/actionBarItemBackground"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:text="搜索"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_body_size"
/>
<!--<TextView-->
<!--android:id="@+id/btn_seach"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:background="@color/transparent"-->
<!--android:contentDescription="@string/store_scan"-->
<!--android:foreground="?android:attr/actionBarItemBackground"-->
<!--android:gravity="center"-->
<!--android:onClick="@{OnClickListener}"-->
<!--android:text="搜索"-->
<!--android:textColor="@color/black_baozheng"-->
<!--android:textSize="@dimen/all_body_size"-->
<!--/>-->
</LinearLayout>
<!--</LinearLayout>-->
<View
android:layout_width="match_parent"
......
......@@ -76,8 +76,7 @@
android:id="@+id/v_search"
android:layout_width="0dp"
android:layout_height="0dp"
android:inputType="number"
android:maxLength="11"
app:inputType="number"
app:hint="@string/store_search_hint"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
......
......@@ -9,16 +9,15 @@
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_margin="@dimen/all_padding"
android:layout_width="match_parent"
android:layout_height="40dp"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_pic"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/icon_qrcode"/>
</android.support.constraint.ConstraintLayout>
......
......@@ -5,8 +5,46 @@
<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">
<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>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment