Commit 9cc92b3d authored by 姜敏's avatar 姜敏

Merge remote-tracking branch 'origin/master'

parents 1d056176 98da01e3
......@@ -18,6 +18,7 @@ import com.blankj.utilcode.util.ToastUtils;
import com.blankj.utilcode.util.Utils;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.wanjian.cockroach.Cockroach;
import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zzdpos.ui.exception.ErrorDialogActivity;
import com.xingdata.zzdpos.ui.splash.SplashActivity;
import com.xingdata.zzdpos.util.INI;
......@@ -70,7 +71,7 @@ public class App extends Application {
.start();
// 初始化异常处理
// initEx();
initEx();
//初始化Fragment框架
initFragment();
......@@ -94,7 +95,6 @@ public class App extends Application {
.build();
}
/**
* 异常处理初始化
*/
......@@ -168,4 +168,10 @@ public class App extends Application {
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(1);
}
@Override
public void onTerminate() {
ZX_PrintPOS.getInstance(this).Destory();
super.onTerminate();
}
}
......@@ -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("测试");
......
......@@ -10,6 +10,7 @@ import android.view.KeyEvent;
import android.view.View;
import com.hwangjr.rxbus.RxBus;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.util.InstanceUtil;
import java.lang.reflect.ParameterizedType;
......@@ -27,12 +28,13 @@ import me.yokeyword.fragmentation.SupportActivity;
* @author Zhangzhen
*/
public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBinding> extends SupportActivity {
public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBinding> extends
SupportActivity {
public Context mContext;
public P mPresenter;
public B mViewBinding;
public LoadingDialog mLoadingDialog;
public List<BaseDialog> mDialogs;
static {
......@@ -49,6 +51,9 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
mDialogs = new ArrayList<>();
View rootView = getLayoutInflater().inflate(this.getLayoutId(), null, false);
mViewBinding = DataBindingUtil.bind(rootView);
if (mLoadingDialog == null) {
mLoadingDialog = new LoadingDialog();
}
super.setContentView(rootView);
RxBus.get().register(mContext);
initPresenter();
......@@ -57,9 +62,12 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
protected void initPresenter() {
if (this instanceof BaseView && this.getClass().getGenericSuperclass() instanceof ParameterizedType
&& ((ParameterizedType) (this.getClass().getGenericSuperclass())).getActualTypeArguments().length > 0) {
Class mPresenterClass = (Class) ((ParameterizedType) (this.getClass().getGenericSuperclass())).getActualTypeArguments()[0];
if (this instanceof BaseView && this.getClass().getGenericSuperclass() instanceof
ParameterizedType
&& ((ParameterizedType) (this.getClass().getGenericSuperclass()))
.getActualTypeArguments().length > 0) {
Class mPresenterClass = (Class) ((ParameterizedType) (this.getClass()
.getGenericSuperclass())).getActualTypeArguments()[0];
mPresenter = InstanceUtil.getInstance(mPresenterClass);
mPresenter.setIntent(getIntent()).setView(this).build();
}
......
......@@ -4,6 +4,7 @@ import java.io.Serializable;
/**
* BaseBean
* 用于快速区分是否是本项目的类
*/
public interface BaseBean extends Serializable {
}
package com.xingdata.zzdpos.base;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.databinding.DataBindingUtil;
......@@ -32,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;
......@@ -52,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;
}
......@@ -96,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);
......@@ -115,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();
}
......@@ -139,6 +189,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
/**
* 初始化
*/
public abstract void initView();
@Override
......@@ -152,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());
......@@ -160,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());
......@@ -202,6 +265,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
/**
* 关闭
*/
public void dismiss() {
if (isShowing) {
if (null != mDisp && (!mDisp.isDisposed())) {
......@@ -211,29 +277,32 @@ 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);
}
protected void setOnCancelClick(View.OnClickListener onCancelClick) {
mBaseBinding.btnCancel.setOnClickListener(onCancelClick);
}
protected void setOnConfirmClick(View.OnClickListener onConfirmClick) {
mBaseBinding.btnConfirm.setOnClickListener(onConfirmClick);
}
public String getTitleValue() {
return null;
}
public void setBtnName(String cancel, String OK) {
public BaseDialog setBtnName(String cancel, String OK) {
mBaseBinding.btnCancel.setText(cancel);
mBaseBinding.btnConfirm.setText(OK);
return this;
}
}
\ No newline at end of file
......@@ -10,12 +10,10 @@ 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 com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import me.yokeyword.fragmentation.SupportFragment;
......@@ -26,12 +24,12 @@ import me.yokeyword.fragmentation.SupportFragment;
* @param <B> Fragment对应的ViewDataBinding
* @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 P mPresenter;
public B mViewBinding;
public LoadingDialog mLoadingDialog;
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
......@@ -41,31 +39,14 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
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);
}
mLoadingDialog = ((BaseActivity) getActivity()).mLoadingDialog;
return getFragmentView(inflater, container);
}
protected interface titleBar {
int getTitleText();
}
protected interface searchBar {
int getSearchMode();
String getHintText();
void onSearchClick();
}
@Override
public void onResume() {
super.onResume();
......@@ -77,27 +58,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();
......
......@@ -20,7 +20,6 @@ import io.realm.Realm;
public abstract class BasePresenter<V> {
protected V mView;
protected CompositeDisposable mCompositeDisposable = new CompositeDisposable();
private Realm mRealm;
BasePresenter setView(V v) {
......
......@@ -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();
}
......
......@@ -20,7 +20,6 @@ import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.SystemUtil;
import com.xingdata.zzdpos.view.PopupWindowDownList;
......@@ -65,7 +64,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;
......@@ -212,7 +207,11 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
protected void onDestroy() {
ZX_PrintPOS.getInstance(this).Destory();
try {
ZX_PrintPOS.getInstance(this).Destory();
} catch (Exception e) {
}
super.onDestroy();
}
}
......@@ -45,7 +45,7 @@ public class BaleEditFragment extends BaseFragment<BalePresenter, FragmentBaleEd
EditFragmentQueryShopAdapter queryShopAdapter;
EditFragmentImgShopAdapter editFragmentImgShopAdapter;
private long mExitTime;
LoadingDialog loadingDialog = new LoadingDialog();
public LoadingDialog loadingDialog = new LoadingDialog();
List<Sssku> listData = new ArrayList<>();
//需要提交给服务器的对象
private UsskuParam mUsskuParam;
......@@ -62,7 +62,6 @@ public class BaleEditFragment extends BaseFragment<BalePresenter, FragmentBaleEd
@SuppressLint("StringFormatMatches")
@Override
public void initView() {
if (nowType == 1) {
//添加
listData.clear();
......@@ -97,7 +96,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();
}
/**
......
......@@ -33,7 +33,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
implements InventoryContract.View {
private InventoryFragment mInventoryFragment = new InventoryFragment();
private ManageDateFragment mManageDateFragment = new ManageDateFragment();
private InventoryAddFragment mInventoryAddFragment = new InventoryAddFragment();
private InventoryAddFragment mInventoryAddFragment;
;
LoadingDialog mLoadingDialog = new LoadingDialog();
private ScanFragment mScanFragment;
......@@ -56,7 +56,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
if (mInventoryAddFragment.isAdded()) {
if (mInventoryAddFragment != null && mInventoryAddFragment.isAdded()) {
mInventoryAddFragment.popThis();
return;
}
......@@ -146,7 +146,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
@Override
public void openInventoryAddFragment(Cs cs) {
mInventoryAddFragment = new InventoryAddFragment();
mInventoryAddFragment.setCs(cs);
changeTitle("商品盘点", true);
start(mInventoryAddFragment);
......
package com.xingdata.zzdpos.ui.manage.inventory.dialog;
import android.view.View;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseDialog;
import com.xingdata.zzdpos.databinding.DialogDeleteInventoryBinding;
import com.xingdata.zzdpos.databinding.DialogHandoverBinding;
import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.OnClickListener;
public class DeleteInventoryDialog extends BaseDialog<InventoryPresenter, DialogDeleteInventoryBinding> {
private BackCall mBackCall;
private void setBackCall(BackCall backCall) {
this.mBackCall = backCall;
}
@Override
public int getLayoutId() {
return R.layout.dialog_delete_inventory;
}
@Override
public int getTitle() {
return -1;
}
@Override
public void initView() {
setBtnName("不删除", "删除");
mViewBinding.tvDis.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
dismiss();
}
});
}
@Override
public void onConfirmClick(View view) {
if (mBackCall != null) {
mBackCall.Ok();
}
super.onConfirmClick(view);
}
@Override
public void onCancelClick(View view) {
if (mBackCall != null) {
mBackCall.No();
}
super.onCancelClick(view);
}
public static DeleteInventoryDialog getDeleteInventoryDialog(BackCall backCall) {
DeleteInventoryDialog deleteInventoryDialog = new DeleteInventoryDialog();
deleteInventoryDialog.setBackCall(backCall);
return deleteInventoryDialog;
}
public abstract static class BackCall {
public abstract void Ok();
public abstract void No();
}
}
package com.xingdata.zzdpos.ui.manage.inventory.fragment;
import android.graphics.drawable.Drawable;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.view.KeyEvent;
import android.view.View;
......@@ -22,6 +23,7 @@ import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.manage.inventory.InventoryPresenter;
import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryGoodsAdapter;
import com.xingdata.zzdpos.ui.manage.inventory.dialog.CsCartDialog;
import com.xingdata.zzdpos.ui.manage.inventory.dialog.DeleteInventoryDialog;
import com.xingdata.zzdpos.ui.scan.ScanFragment;
import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.RecyclerViewUtil;
......@@ -40,6 +42,7 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
private List<Sssku> topCsList = new ArrayList<>();
private InventoryGoodsAdapter mInventoryGoodsAdapter;
private CsCartDialog mCartDialog = new CsCartDialog();
DeleteInventoryDialog deleteInventoryDialog;
/**
......@@ -57,15 +60,10 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
@Override
public void initView() {
initDialog();
initRecycler();
mViewBinding.setCartCount(0);
mViewBinding.edTitle.setHint(R.string.inventory_add_et_hint);
if (mViewBinding.edTitle.getText().toString().length() != 0) {
mViewBinding.edTitle.setText("");
}
mViewBinding.edTitle.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
......@@ -89,36 +87,47 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
mPresenter.exitInventoryAdd();
});
// mViewBinding.btnPrint.setOnClickListener(new OnClickListener() {
// @Override
// protected void myOnClickListener(View v) {
// ZX_PrintPOS.getInstance(mContext).printInventory(1, mCs);
// }
// });
}
private void initDialog() {
if (deleteInventoryDialog == null) {
deleteInventoryDialog = DeleteInventoryDialog.getDeleteInventoryDialog(new DeleteInventoryDialog.BackCall() {
@Override
public void Ok() {
mPresenter.cancelInventoryAdd(mCs);
deleteInventoryDialog.dismiss();
}
@Override
public void No() {
deleteInventoryDialog.dismiss();
mPresenter.exitInventoryAdd();
}
});
}
}
private void initRecycler() {
mViewBinding.recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mInventoryGoodsAdapter = new InventoryGoodsAdapter(topCsList);
mInventoryGoodsAdapter.setEmptyView(getEmptyView());
mInventoryGoodsAdapter.setOnItemLongClickListener((adapter, view, position) -> {
if (bottomCsList.size() == 0) {
mPresenter.cancelInventoryAdd(mCs);
} else {
PromptDialog promptDialog = new PromptDialog();
promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "退出前是否删除本次盘库记录").setClick(view1 -> {
mPresenter.cancelInventoryAdd(mCs);
promptDialog.dismiss();
}, view1 -> {
promptDialog.dismiss();
pop();
}).setCancelables(false).show((BaseActivity) mContext);
}
PromptDialog delDialog = new PromptDialog();
delDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "是否删除").setClick(new View.OnClickListener() {
@Override
public void onClick(View view) {
adapter.getData().remove(position);
adapter.notifyDataSetChanged();
delDialog.dismiss();
}
}, new View.OnClickListener() {
@Override
public void onClick(View view) {
delDialog.dismiss();
}
}).setCancelables(false).show((BaseActivity) mContext);
return false;
});
mInventoryGoodsAdapter.setOnItemChildClickListener((adapter, view, position) -> {
......@@ -213,7 +222,6 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
@Override
public boolean onBackPressedSupport() {
popThis();
return true;
}
......@@ -222,18 +230,7 @@ public class InventoryAddFragment extends BaseFragment<InventoryPresenter, Fragm
if (bottomCsList.size() == 0) {
mPresenter.cancelInventoryAdd(mCs);
} else {
PromptDialog promptDialog = new PromptDialog();
promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SELECT, "退出前是否删除本次盘库记录").setClick(view1 -> {
mPresenter.cancelInventoryAdd(mCs);
promptDialog.dismiss();
}, view1 -> {
promptDialog.dismiss();
mPresenter.changeTitle("盘库记录", false);
pop();
}).setCancelables(false).show((BaseActivity) mContext);
deleteInventoryDialog.show((BaseActivity) getActivity());
}
}
......
......@@ -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,9 +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();
}
......@@ -78,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);
......
......@@ -131,7 +131,12 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
mViewBinding.btnReturn.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
ZX_PrintPOS.getInstance(MainActivity.mainActivity).printInventory(1, cs);
try {
ZX_PrintPOS.getInstance(MainActivity.mainActivity).printInventory(1, cs);
} catch (Exception e) {
ToastUtils.showShort("打印异常");
}
mViewBinding.btnReturn.setEnabled(false);
mViewBinding.btnReturn.setText("已打印");
......@@ -164,11 +169,14 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
, false));
mViewBinding.btnPrint.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
ZX_PrintPOS.getInstance(MainActivity.mainActivity).printSave(1, vipRechargeOrder);
try {
ZX_PrintPOS.getInstance(MainActivity.mainActivity).printSave(1, vipRechargeOrder);
} catch (Exception e) {
ToastUtils.showShort("打印异常");
}
mViewBinding.btnPrint.setEnabled(false);
mViewBinding.btnPrint.setText("已打印");
......
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"/>
......
......@@ -25,12 +25,13 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
......
......@@ -13,12 +13,13 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/back_white" />
<TextView
......
......@@ -25,12 +25,13 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
......
......@@ -29,12 +29,13 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:paddingEnd="@dimen/all_bounced_padding"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
......@@ -83,7 +84,7 @@
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:padding="@dimen/all_padding"
android:src="@mipmap/click_down"
android:visibility="@{titleMode==6?View.VISIBLE:View.GONE}"
app:layout_constraintRight_toRightOf="parent" />
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools">
<layout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
......@@ -11,7 +12,9 @@
<include
android:id="@+id/ic_title"
layout="@layout/title"
app:layout_constraintTop_toTopOf="parent"/>
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
......
......@@ -45,12 +45,13 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:padding="@dimen/all_margin"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent" />
......@@ -80,12 +81,15 @@
<ImageButton
android:id="@+id/btn_scan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/all_margin"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/all_spacing"
android:background="@color/transparent"
android:contentDescription="@string/store_scan"
android:foreground="?android:attr/actionBarItemBackground"
android:paddingEnd="@dimen/all_padding"
android:paddingStart="@dimen/all_bounced_padding"
android:src="@mipmap/but_sweep_yard"
android:visibility="@{titleMode>1?View.GONE:View.VISIBLE}"
app:layout_constraintBottom_toTopOf="parent"
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="180dp"
android:background="@color/white_caocao"
android:gravity="end"
android:orientation="vertical"
android:paddingBottom="@dimen/all_margin">
<TextView
android:id="@+id/tv_dis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/all_margin"
android:text="暂不退出"
android:textSize="@dimen/all_text_size_low" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="退出前是否删除本次盘库记录"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -19,14 +19,14 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingTop="@dimen/all_padding"
android:orientation="vertical">
android:orientation="vertical"
>
<View
android:id="@+id/ll_title"
android:layout_width="0dp"
android:layout_height="?attr/actionBarSize"
android:layout_marginTop="@dimen/all_margin"
android:layout_marginTop="@dimen/all_margin_big"
android:background="@color/white_caocao"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
......
......@@ -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.support.v7.widget.RecyclerView
android:id="@+id/rl_dis"
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_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
......@@ -28,20 +28,20 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
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_margin"
android:padding="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginEnd="@dimen/all_padding"
android:gravity="center|left"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
......@@ -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>
......
......@@ -31,20 +31,20 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="?attr/actionBarSize"
android:layout_width="wrap_content"
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_margin"
android:padding="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_margin"
android:layout_marginEnd="@dimen/all_padding"
android:gravity="center|left"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back"
......
......@@ -46,7 +46,8 @@
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_margin"
......@@ -54,44 +55,53 @@
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_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"/>
<!--<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"
......
......@@ -44,46 +44,55 @@
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_margin"
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_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"/>
<!--<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"
......
......@@ -35,7 +35,6 @@
android:hint="@string/other_select_edit_hint"
android:imeOptions="actionSearch"
android:inputType="number"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintTop_toTopOf="parent" />
......
......@@ -22,7 +22,6 @@
android:drawablePadding="@dimen/all_padding"
android:hint="@string/statistics_order_edit_hint"
android:inputType="number"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"
/>
......
......@@ -49,7 +49,6 @@
android:hint="@string/other_select_edit_hint"
android:imeOptions="actionSearch"
android:inputType="text"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"
/>
......
......@@ -25,7 +25,6 @@
android:drawablePadding="@dimen/all_padding"
android:hint="@string/statistics_order_edit_hint"
android:imeOptions="actionSearch"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_text_size_low"
/>
......
<?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">
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View"/>
<import type="android.view.View" />
<variable
name="empty"
type="boolean"/>
type="boolean" />
<variable
name="OnClickListener"
type="com.xingdata.zzdpos.util.OnClickListener"/>
type="com.xingdata.zzdpos.util.OnClickListener" />
<variable
name="titleMode"
type="int"/>
type="int" />
</data>
<LinearLayout
......@@ -29,7 +29,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai"/>
android:background="@color/gray_huanggai" />
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
......@@ -38,15 +38,16 @@
<ImageButton
android:id="@+id/btn_back"
android:layout_width="@dimen/title_height"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="?attr/selectableItemBackground"
android:contentDescription="@string/all_go_back"
android:gravity="center"
android:onClick="@{OnClickListener}"
android:padding="@dimen/all_margin"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/>
app:layout_constraintLeft_toLeftOf="parent" />
<!--<LinearLayout-->
<!--android:layout_width="0dp"-->
......@@ -75,20 +76,19 @@
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"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:layout_gravity="bottom"
android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent"/>
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>
<View
......@@ -96,18 +96,18 @@
android:layout_height="@dimen/all_line_width"
android:layout_marginBottom="@dimen/all_margin"
android:background="@color/gray_huanggai"
android:visibility="@{empty?View.GONE:View.VISIBLE}"/>
android:visibility="@{empty?View.GONE:View.VISIBLE}" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_line_width"
android:background="@color/gray_huanggai"/>
android:background="@color/gray_huanggai" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rl_vip"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_height="match_parent" />
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -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>
......
......@@ -13,8 +13,11 @@
android:layout_marginLeft="@dimen/all_margin_left"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@mipmap/go_back"
android:padding="@dimen/all_padding" />
android:layout_alignParentLeft="true"
android:background="@color/transparent"
android:paddingEnd="@dimen/all_bounced_padding"
android:paddingStart="@dimen/all_padding"
android:src="@mipmap/go_back" />
<TextView
android:id="@+id/tv_title"
......@@ -30,8 +33,10 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="@mipmap/pop_menu"
android:padding="@dimen/all_padding" />
android:background="@color/transparent"
android:paddingEnd="@dimen/all_padding"
android:paddingStart="@dimen/all_bounced_padding"
android:src="@mipmap/pop_menu" />
</RelativeLayout>
......
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