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 { ...@@ -71,7 +71,7 @@ public class App extends Application {
.start(); .start();
// 初始化异常处理 // 初始化异常处理
// initEx(); initEx();
//初始化Fragment框架 //初始化Fragment框架
initFragment(); initFragment();
...@@ -95,7 +95,6 @@ public class App extends Application { ...@@ -95,7 +95,6 @@ public class App extends Application {
.build(); .build();
} }
/** /**
* 异常处理初始化 * 异常处理初始化
*/ */
......
...@@ -13,7 +13,7 @@ public class Pay { ...@@ -13,7 +13,7 @@ public class Pay {
public Request() { public Request() {
setDeviceType("01"); setDeviceType("01");
setMch_id("11"); setMch_id("11");
setTer_id("00000011"); setTer_id("00000098");
setOrderDateTime(TimeUtils.getNowString(new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()))); setOrderDateTime(TimeUtils.getNowString(new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault())));
setCurrencyType("156"); setCurrencyType("156");
setOrderName("测试"); setOrderName("测试");
......
...@@ -4,6 +4,7 @@ import java.io.Serializable; ...@@ -4,6 +4,7 @@ import java.io.Serializable;
/** /**
* BaseBean * BaseBean
* 用于快速区分是否是本项目的类
*/ */
public interface BaseBean extends Serializable { public interface BaseBean extends Serializable {
} }
...@@ -34,6 +34,13 @@ import io.reactivex.functions.Consumer; ...@@ -34,6 +34,13 @@ import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function; import io.reactivex.functions.Function;
/**
* BaseDialog,供新创建的Dialog继承
*
* @param <P> 其依附的Activity的Presenter的类
* @param <B> Fragment对应的ViewDataBinding
* @author Zhangzhen
*/
public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBinding> extends AppCompatDialogFragment { public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBinding> extends AppCompatDialogFragment {
private DialogBaseBinding mBaseBinding; private DialogBaseBinding mBaseBinding;
...@@ -54,31 +61,54 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -54,31 +61,54 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
mContext = getActivity(); mContext = getActivity();
} }
/**
* 当取消键被点击
*/
public void onCancelClick(View view) { public void onCancelClick(View view) {
KeyboardUtils.hideSoftInput(mViewBinding.getRoot()); KeyboardUtils.hideSoftInput(mViewBinding.getRoot());
this.dismiss(); this.dismiss();
} }
/**
* 当确定键被点击
*/
public void onConfirmClick(View view) { public void onConfirmClick(View view) {
KeyboardUtils.hideSoftInput(mViewBinding.getRoot()); KeyboardUtils.hideSoftInput(mViewBinding.getRoot());
} }
/**
* 是否显示标题
*
* @return 是否显示标题
*/
protected boolean isShowTitle() { protected boolean isShowTitle() {
return true; return true;
} }
/**
* 是否为简略模式
*
* @return 是否为简略模式
*/
protected boolean isEasy() { protected boolean isEasy() {
return false; return false;
} }
/**
* 设置点击键是否可用
*
* @param isEnable 是否可用
*/
protected void seConfirmEnable(boolean isEnable) { protected void seConfirmEnable(boolean isEnable) {
mBaseBinding.btnConfirm.setEnabled(isEnable); mBaseBinding.btnConfirm.setEnabled(isEnable);
} }
/**
* 获取标题
*
* @return 标题
*/
public int getTitle() { public int getTitle() {
return R.string.all_dialog; return R.string.all_dialog;
} }
...@@ -98,6 +128,13 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -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) { private View getFragmentDialog(@NonNull LayoutInflater inflater, ViewGroup container) {
mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false); mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false);
...@@ -117,13 +154,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -117,13 +154,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
return mBaseBinding.getRoot(); return mBaseBinding.getRoot();
} }
/**
* 获取一个简单的Dialog
*
* @param inflater inflater
* @param container container
* @return dialog
*/
private View getEasyFragmentDialog(@NonNull LayoutInflater inflater, ViewGroup container) { private View getEasyFragmentDialog(@NonNull LayoutInflater inflater, ViewGroup container) {
mViewBinding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false); mViewBinding = DataBindingUtil.inflate(inflater, getLayoutId(), container, false);
this.initView(); this.initView();
return mViewBinding.getRoot(); return mViewBinding.getRoot();
} }
/**
* 获取Activity
*
* @return activity
*/
protected BaseActivity getBaseActivity() { protected BaseActivity getBaseActivity() {
return (BaseActivity) getActivity(); return (BaseActivity) getActivity();
} }
...@@ -141,6 +189,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -141,6 +189,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
} }
/**
* 初始化
*/
public abstract void initView(); public abstract void initView();
@Override @Override
...@@ -154,7 +205,11 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -154,7 +205,11 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
} }
} }
/**
* 显示
*
* @param activity context
*/
public void show(BaseActivity activity) { public void show(BaseActivity activity) {
if (!isShowing) { if (!isShowing) {
super.show(activity.getSupportFragmentManager(), this.getTag()); super.show(activity.getSupportFragmentManager(), this.getTag());
...@@ -162,6 +217,12 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -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) { public void show(BaseActivity activity, int recLen) {
if (!isShowing) { if (!isShowing) {
super.show(activity.getSupportFragmentManager(), this.getTag()); super.show(activity.getSupportFragmentManager(), this.getTag());
...@@ -204,6 +265,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -204,6 +265,9 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
} }
/**
* 关闭
*/
public void dismiss() { public void dismiss() {
if (isShowing) { if (isShowing) {
if (null != mDisp && (!mDisp.isDisposed())) { if (null != mDisp && (!mDisp.isDisposed())) {
...@@ -213,14 +277,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind ...@@ -213,14 +277,24 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
} }
} }
/**
* 设置标题
*
* @param title 标题
*/
protected void setTitle(String title) { protected void setTitle(String title) {
mBaseBinding.tvTitle.setText(title); mBaseBinding.tvTitle.setText(title);
} }
/**
* 设置标题
*
* @param res 标题
*/
protected void setTitle(int res) { protected void setTitle(int res) {
mBaseBinding.tvTitle.setText(res); mBaseBinding.tvTitle.setText(res);
} }
public String getTitleValue() { public String getTitleValue() {
return null; return null;
} }
......
...@@ -10,12 +10,9 @@ import android.support.v7.app.AppCompatDelegate; ...@@ -10,12 +10,9 @@ import android.support.v7.app.AppCompatDelegate;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.PopupWindow;
import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils; import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.FragmentBaseBinding;
import me.yokeyword.fragmentation.SupportFragment; import me.yokeyword.fragmentation.SupportFragment;
...@@ -27,12 +24,10 @@ import me.yokeyword.fragmentation.SupportFragment; ...@@ -27,12 +24,10 @@ import me.yokeyword.fragmentation.SupportFragment;
* @author Zhangzhen * @author Zhangzhen
*/ */
public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBinding> extends SupportFragment { public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBinding> extends SupportFragment {
public Context mContext; public Context mContext;
public P mPresenter; public P mPresenter;
public B mViewBinding; public B mViewBinding;
static { static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
} }
...@@ -44,28 +39,9 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi ...@@ -44,28 +39,9 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mContext = ActivityUtils.getTopActivity(); mContext = ActivityUtils.getTopActivity();
mPresenter = (P) ((BaseActivity) getActivity()).mPresenter; mPresenter = (P) ((BaseActivity) getActivity()).mPresenter;
return getFragmentView(inflater, container);
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 @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
...@@ -77,27 +53,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi ...@@ -77,27 +53,8 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
return mViewBinding.getRoot(); return mViewBinding.getRoot();
} }
private View getTitleFragmentView(LayoutInflater inflater, ViewGroup container) {
FragmentBaseBinding mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_base, container, false);
mBaseBinding.vsFragment.getViewStub().setLayoutResource(getLayoutId());
mBaseBinding.vsFragment.getViewStub().setOnInflateListener((viewStub, view) -> mViewBinding = DataBindingUtil.bind(view));
mBaseBinding.vsFragment.getViewStub().inflate();
mBaseBinding.btnBack.setOnClickListener(view -> onBackPressedSupport());
this.initView();
return mBaseBinding.getRoot();
}
public abstract void initView(); public abstract void initView();
public void showMainPopup(PopupWindow popupWindow, View view) {
popupWindow.getContentView().measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec
.UNSPECIFIED);
int x = (int) ((popupWindow.getContentView().getMeasuredWidth() - view.getMeasuredWidth()) * 0.5);
popupWindow.showAsDropDown(view, -x, 0);
}
@Override @Override
public void onDetach() { public void onDetach() {
super.onDetach(); super.onDetach();
......
package com.xingdata.zzdpos.base; package com.xingdata.zzdpos.base;
/**
* BaseModel,需要同步的Model需要实现的接口
*/
public interface BaseModel { public interface BaseModel {
Long getSyncId(); Long getSyncId();
......
...@@ -11,6 +11,13 @@ import com.xingdata.zzdpos.R; ...@@ -11,6 +11,13 @@ import com.xingdata.zzdpos.R;
import java.util.List; import java.util.List;
/**
* BaseSelectedAdapter,单选的adapter
*
* @param <T> 要展示数据的数据类型
* @param <B> Item对应的ViewDataBinding
* @author Zhangzhen
*/
public abstract class BaseSelectedAdapter<T, B extends ViewDataBinding> extends BaseQuickAdapter<T, BaseViewHolder> { public abstract class BaseSelectedAdapter<T, B extends ViewDataBinding> extends BaseQuickAdapter<T, BaseViewHolder> {
private int mSelectedPosition = 0; private int mSelectedPosition = 0;
......
...@@ -14,15 +14,20 @@ import android.view.View; ...@@ -14,15 +14,20 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.WindowManager; import android.view.WindowManager;
/**
* BaseSheetDialog,抽屉形的Dialog
*
* @param <P> 其依附的Activity的Presenter的类
* @param <B> Fragment对应的ViewDataBinding
* @author Zhangzhen
*/
public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDataBinding> extends BaseDialog<P, B> { public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDataBinding> extends BaseDialog<P, B> {
public BottomSheetBehavior mBehavior; public BottomSheetBehavior mBehavior;
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(Bundle savedInstanceState) { public Dialog onCreateDialog(Bundle savedInstanceState) {
mContext = getActivity(); mContext = getActivity();
mPresenter = (P) getBaseActivity().mPresenter; mPresenter = (P) getBaseActivity().mPresenter;
getBaseActivity().mDialogs.add(0, this); getBaseActivity().mDialogs.add(0, this);
MyBottomSheetDialog dialog = new MyBottomSheetDialog(mContext); MyBottomSheetDialog dialog = new MyBottomSheetDialog(mContext);
...@@ -46,8 +51,6 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat ...@@ -46,8 +51,6 @@ public abstract class BaseSheetDialog<P extends BasePresenter, B extends ViewDat
} }
private class MyBottomSheetDialog extends BottomSheetDialog { private class MyBottomSheetDialog extends BottomSheetDialog {
private MyBottomSheetDialog(@NonNull Context context) { private MyBottomSheetDialog(@NonNull Context context) {
super(context); super(context);
} }
......
package com.xingdata.zzdpos.base; package com.xingdata.zzdpos.base;
/**
* BaseSku,各类商品需要实现的接口
*/
public interface BaseSku { public interface BaseSku {
boolean isSelected(); boolean isSelected();
......
...@@ -5,7 +5,6 @@ import android.view.View; ...@@ -5,7 +5,6 @@ import android.view.View;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
/** /**
* BaseViewHolder,集成了ViewDataBinding * BaseViewHolder,集成了ViewDataBinding
*/ */
......
...@@ -139,10 +139,10 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin ...@@ -139,10 +139,10 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
closeLoading(loadingDialog); closeLoading(loadingDialog);
promptDialog.dismiss(); promptDialog.dismiss();
if (SPUtils.getInstance().getBoolean(loginReturnBean.getOperMobile() + "")) { if (SPUtils.getInstance().getBoolean(SystemUtil.getApplicationName() + "")) {
mPresenter.startUi(); mPresenter.startUi();
} else { } else {
SPUtils.getInstance().put(loginReturnBean.getOperMobile() + "", true); SPUtils.getInstance().put(SystemUtil.getApplicationName(), true);
start(mPresenter.selectIndustryFragment); start(mPresenter.selectIndustryFragment);
} }
} }
...@@ -330,8 +330,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin ...@@ -330,8 +330,7 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
} else if (getTopFragment() instanceof SelectIndustryFragment) { } else if (getTopFragment() instanceof SelectIndustryFragment) {
mPresenter.logout(); mPresenter.logout();
SPUtils.getInstance().put(LoginPresenter.loginReturnBean.getOperMobile() + "", SPUtils.getInstance().put(SystemUtil.getApplicationName(), false);
false);
pop(); pop();
} else { } else {
pop(); pop();
......
...@@ -14,6 +14,7 @@ import com.xingdata.zzdpos.ui.login.LoginPresenter; ...@@ -14,6 +14,7 @@ import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.ui.login.adapter.SelectIndustryAdapter; import com.xingdata.zzdpos.ui.login.adapter.SelectIndustryAdapter;
import com.xingdata.zzdpos.util.OnClickListener; import com.xingdata.zzdpos.util.OnClickListener;
import com.xingdata.zzdpos.util.RecyclerViewUtil; import com.xingdata.zzdpos.util.RecyclerViewUtil;
import com.xingdata.zzdpos.util.SystemUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -56,8 +57,7 @@ public class SelectIndustryFragment extends BaseFragment<LoginPresenter, ...@@ -56,8 +57,7 @@ public class SelectIndustryFragment extends BaseFragment<LoginPresenter,
mViewBinding.icTitle.setOnClickListener(new OnClickListener() { mViewBinding.icTitle.setOnClickListener(new OnClickListener() {
@Override @Override
protected void myOnClickListener(View v) { protected void myOnClickListener(View v) {
SPUtils.getInstance().put(LoginPresenter.loginReturnBean.getOperMobile() + "", SPUtils.getInstance().put(SystemUtil.getApplicationName(), false);
false);
mPresenter.logout(); mPresenter.logout();
pop(); pop();
} }
......
...@@ -65,7 +65,6 @@ public class SignInFragment extends BaseFragment<LoginPresenter, ...@@ -65,7 +65,6 @@ public class SignInFragment extends BaseFragment<LoginPresenter,
// } // }
// }).show((BaseActivity) getActivity()); // }).show((BaseActivity) getActivity());
// } // }
mViewBinding.setOnClickListener( mViewBinding.setOnClickListener(
new OnClickListener() { new OnClickListener() {
@Override @Override
......
package com.xingdata.zzdpos.ui.main; package com.xingdata.zzdpos.ui.main;
import android.content.Context;
import android.databinding.DataBindingUtil; import android.databinding.DataBindingUtil;
import android.support.design.widget.TabLayout; import android.support.design.widget.TabLayout;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; 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.blankj.utilcode.util.ActivityUtils;
import com.xingdata.api.print.ZX_PrintPOS; import com.xingdata.api.print.ZX_PrintPOS;
...@@ -32,7 +28,6 @@ import java.util.List; ...@@ -32,7 +28,6 @@ import java.util.List;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.ObservableEmitter; import io.reactivex.ObservableEmitter;
import io.reactivex.ObservableOnSubscribe; import io.reactivex.ObservableOnSubscribe;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer; import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
...@@ -210,5 +205,13 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -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 ...@@ -97,7 +97,7 @@ public class BaleEditFragment extends BaseFragment<BalePresenter, FragmentBaleEd
mViewBinding.rvImgList.setLayoutManager(new GridLayoutManager(mContext, 3)); mViewBinding.rvImgList.setLayoutManager(new GridLayoutManager(mContext, 3));
mViewBinding.rvImgList.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration mViewBinding.rvImgList.addItemDecoration(new RecyclerViewUtil.GridSpacingItemDecoration
(3, 10, true)); (3, 3, true));
mViewBinding.etShopMoney.setFilters(InputFilters.getMoneyFilter(5, 2)); mViewBinding.etShopMoney.setFilters(InputFilters.getMoneyFilter(5, 2));
mViewBinding.setOnClickListener(new OnClickListener() { mViewBinding.setOnClickListener(new OnClickListener() {
@Override @Override
......
package com.xingdata.zzdpos.ui.manage.bale.fragment; package com.xingdata.zzdpos.ui.manage.bale.fragment;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.widget.TextView;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity; import com.xingdata.zzdpos.base.BaseActivity;
...@@ -11,7 +9,6 @@ import com.xingdata.zzdpos.base.BaseFragment; ...@@ -11,7 +9,6 @@ import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentBaleSeachBinding; import com.xingdata.zzdpos.databinding.FragmentBaleSeachBinding;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog; import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.bale.BalePresenter; import com.xingdata.zzdpos.ui.manage.bale.BalePresenter;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.util.OnClickListener; import com.xingdata.zzdpos.util.OnClickListener;
/** /**
...@@ -37,32 +34,30 @@ public class BaleSeachFragment extends BaseFragment<BalePresenter, FragmentBaleS ...@@ -37,32 +34,30 @@ public class BaleSeachFragment extends BaseFragment<BalePresenter, FragmentBaleS
pop(); pop();
} }
break; break;
case R.id.btn_seach: {
seach(mViewBinding.etKeyword
.getText().toString());
}
break;
default: {
}
break;
} }
} }
} }
); );
mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() { // mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override // @Override
public boolean onEditorAction // public boolean onEditorAction
(TextView textView, int i, // (TextView textView, int i,
KeyEvent keyEvent) { // KeyEvent keyEvent) {
seach(mViewBinding.etKeyword // seach(mViewBinding.etKeyword
.getText().toString()); // .getText().toString());
return false; // return false;
} // }
} // }
//
); // );
Global.setFocus(mViewBinding.etKeyword, getActivity()); 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) { public void seach(String str) {
......
...@@ -2,7 +2,6 @@ package com.xingdata.zzdpos.ui.manage.bale.fragment; ...@@ -2,7 +2,6 @@ package com.xingdata.zzdpos.ui.manage.bale.fragment;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.view.KeyEvent;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
...@@ -15,7 +14,6 @@ import com.xingdata.zzdpos.model.Sssku; ...@@ -15,7 +14,6 @@ import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog; import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.bale.BalePresenter; import com.xingdata.zzdpos.ui.manage.bale.BalePresenter;
import com.xingdata.zzdpos.ui.manage.bale.adpter.EditDialogQueryShopItemAdapter; import com.xingdata.zzdpos.ui.manage.bale.adpter.EditDialogQueryShopItemAdapter;
import com.xingdata.zzdpos.util.Global;
import com.xingdata.zzdpos.util.OnClickListener; import com.xingdata.zzdpos.util.OnClickListener;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -63,11 +61,11 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter, ...@@ -63,11 +61,11 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
} }
loadingDialog.show((BaseActivity) getActivity()); loadingDialog.show((BaseActivity) getActivity());
if (barCode != null) { if (barCode != null) {
mViewBinding.etKeyword.setText(barCode); mViewBinding.vSearch.setText(barCode);
mPresenter.queryShopItem(barCode, true, mPresenter.queryShopItem(barCode, true,
loadingDialog); loadingDialog);
} else { } else {
mPresenter.queryShopItem(mViewBinding.etKeyword.getText().toString(), true, mPresenter.queryShopItem("", true,
loadingDialog); loadingDialog);
} }
...@@ -80,15 +78,15 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter, ...@@ -80,15 +78,15 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
pop(); pop();
} }
break; break;
case R.id.btn_seach: { // case R.id.btn_seach: {
loadingDialog.show((BaseActivity) // loadingDialog.show((BaseActivity)
getActivity()); // getActivity());
mPresenter.queryShopItem(mViewBinding // mPresenter.queryShopItem(mViewBinding
.etKeyword.getText() // .etKeyword.getText()
.toString(), // .toString(),
true, loadingDialog); // true, loadingDialog);
} // }
break; // break;
default: { default: {
} }
...@@ -97,26 +95,36 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter, ...@@ -97,26 +95,36 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
} }
} }
); );
mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() { // mViewBinding.etKeyword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override // @Override
public boolean onEditorAction // public boolean onEditorAction
(TextView textView, int i, // (TextView textView, int i,
KeyEvent keyEvent) { // KeyEvent keyEvent) {
loadingDialog.show((BaseActivity) // loadingDialog.show((BaseActivity)
getActivity()); // getActivity());
mPresenter.queryShopItem // mPresenter.queryShopItem
(mViewBinding // (mViewBinding
.etKeyword //
.getText() // .etKeyword
.toString(), //
true, // .getText()
loadingDialog); //
return false; // .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, ...@@ -130,7 +138,7 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
queryShopItemAdapter.setNewData(nowData); queryShopItemAdapter.setNewData(nowData);
getEmptyView("没有数据"); getEmptyView("没有数据");
} }
Global.setFocus(mViewBinding.etKeyword, getActivity()); mViewBinding.vSearch.showSoftInput();
} }
public void setAddData(List<Sssku> addData, Boolean isLoadMore) { public void setAddData(List<Sssku> addData, Boolean isLoadMore) {
...@@ -143,7 +151,7 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter, ...@@ -143,7 +151,7 @@ public class BaleSeachShopFragment extends BaseFragment<BalePresenter,
queryShopItemAdapter.addData(nowData); queryShopItemAdapter.addData(nowData);
getEmptyView("没有数据"); getEmptyView("没有数据");
} }
Global.setFocus(mViewBinding.etKeyword, getActivity()); mViewBinding.vSearch.showSoftInput();
} }
/** /**
......
...@@ -128,7 +128,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi ...@@ -128,7 +128,6 @@ public class EditorFragment extends BaseFragment<MsPresenter, FragmentMsEditorBi
mMs.setMsTouchTag2((byte) C.MS_GROUP.ALL); mMs.setMsTouchTag2((byte) C.MS_GROUP.ALL);
return this; return this;
} }
/** /**
......
...@@ -6,9 +6,11 @@ import android.view.View; ...@@ -6,9 +6,11 @@ import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment; import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding; import com.xingdata.zzdpos.databinding.FragmentSendTickerVipBinding;
import com.xingdata.zzdpos.model.Vip; 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.SendTicketPresenter;
import com.xingdata.zzdpos.ui.sendticke.adapter.VipAdapter; import com.xingdata.zzdpos.ui.sendticke.adapter.VipAdapter;
import com.xingdata.zzdpos.ui.settle.SettleActivity; import com.xingdata.zzdpos.ui.settle.SettleActivity;
...@@ -23,6 +25,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT ...@@ -23,6 +25,7 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
@SuppressLint("InflateParams") @SuppressLint("InflateParams")
View emptyView; View emptyView;
TextView noSeachData; TextView noSeachData;
LoadingDialog loadingDialog = new LoadingDialog();
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -66,8 +69,11 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT ...@@ -66,8 +69,11 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
}); });
mViewBinding.vSearch.setOnSearchListener(keyword -> { mViewBinding.vSearch.setOnSearchListener(keyword -> {
mViewBinding.vSearch.hideSoftInput(); mViewBinding.vSearch.hideSoftInput();
loadingDialog.show((BaseActivity) getActivity());
mPresenter.searchVip(keyword); mPresenter.searchVip(keyword);
}); });
mViewBinding.vSearch.setHint("请输入会员手机号进行搜索");
// mViewBinding.vSearch.setEmptyEnabled(true);
mViewBinding.vSearch.showSoftInput(); mViewBinding.vSearch.showSoftInput();
} }
...@@ -77,6 +83,9 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT ...@@ -77,6 +83,9 @@ public class VipFragment extends BaseFragment<SendTicketPresenter, FragmentSendT
* @param vips 会员列表 * @param vips 会员列表
*/ */
public void loadVips(List<Vip> vips) { public void loadVips(List<Vip> vips) {
if (loadingDialog != null && loadingDialog.isShowing) {
loadingDialog.dismiss();
}
if (vips.size() == 0) { if (vips.size() == 0) {
noSeachData.setText(R.string.settle_vip_search_empty_no_seach); noSeachData.setText(R.string.settle_vip_search_empty_no_seach);
mVipAdapter.setEmptyView(emptyView); mVipAdapter.setEmptyView(emptyView);
......
package com.xingdata.zzdpos.ui.store.adapter; package com.xingdata.zzdpos.ui.store.adapter;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseAdapter; import com.xingdata.zzdpos.base.BaseAdapter;
import com.xingdata.zzdpos.databinding.ItemStoreMsBinding; import com.xingdata.zzdpos.databinding.ItemStoreMsBinding;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Ms; import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.util.ConvertUtil;
import java.util.ArrayList; import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Locale;
public class MsAdapter extends BaseAdapter<Ms, ItemStoreMsBinding> { public class MsAdapter extends BaseAdapter<Ms, ItemStoreMsBinding> {
public MsAdapter() { public MsAdapter(List<Ms> mss) {
super(R.layout.item_store_ms, new ArrayList<>()); super(R.layout.item_store_ms, mss);
} }
@Override @Override
protected void convert(ItemStoreMsBinding mViewBinding, Ms item) { protected void convert(ItemStoreMsBinding mViewBinding, Ms item) {
switch (item.getMsTools()) {
case C.MS_TYPE.DIS:
mViewBinding.tvType.setText(R.string.ms_type_dis);
mViewBinding.tvType.setBackgroundResource(R.drawable.shape_red_r1);
break;
case C.MS_TYPE.PROMOTION:
mViewBinding.tvType.setText(R.string.ms_type_promotion);
mViewBinding.tvType.setBackgroundResource(R.drawable.shape_orange_r1);
break;
case C.MS_TYPE.SECOND:
mViewBinding.tvType.setText(R.string.ms_type_dis);
mViewBinding.tvType.setBackgroundResource(R.drawable.shape_red_r1);
break;
case C.MS_TYPE.MONEY_OFF:
mViewBinding.tvType.setText(R.string.ms_type_money_off);
mViewBinding.tvType.setBackgroundResource(R.drawable.shape_green_r1);
break;
case C.MS_TYPE.GIFT:
mViewBinding.tvType.setText(R.string.ms_type_gift);
mViewBinding.tvType.setBackgroundResource(R.drawable.shape_green_r1);
break;
}
String[] str = getMsDescription(item);
mViewBinding.tvDescription.setText(str[0]);
mViewBinding.tvInfo.setText(str[1]);
}
/**
* 获取营销计划的文字描述
*
* @param ms 营销计划
* @return 文字描述
*/
private String[] getMsDescription(Ms ms) {
String strGroup = "", strType = "";
switch (ms.getMsTouchTag2()) {
case C.MS_GROUP.ALL:
strGroup = mContext.getString(R.string.ms_group_all_info);
break;
case C.MS_GROUP.BRAND:
strGroup = mContext.getString(R.string.ms_group_all_info);
break;
case C.MS_GROUP.CATE:
strGroup = mContext.getString(R.string.ms_group_cate_info, ms.getCateName());
break;
case C.MS_GROUP.SKU:
String spuName = DBFactory.Store.querySpuNameBySkuId(ms.getSkuId());
strGroup = mContext.getString(R.string.ms_group_sku_info, !StringUtils.isEmpty(spuName) ? spuName : ms.getSkuId());
break;
}
switch (ms.getMsTools()) {
case C.MS_TYPE.DIS:
strType = mContext.getString(R.string.ms_type_dis_info, String.valueOf(Double.valueOf(ms.getPriceDiscount()) / 10));
break;
case C.MS_TYPE.PROMOTION:
strType = mContext.getString(R.string.ms_type_promotion_info);
break;
case C.MS_TYPE.SECOND:
strType = mContext.getString(R.string.ms_type_second_info, String.valueOf(Double.valueOf(ms.getPriceDiscount()) / 10));
break;
case C.MS_TYPE.MONEY_OFF:
strType = mContext.getString(R.string.ms_type_money_off_info, ConvertUtil.fenToYuan(ms.getPayAmt()), ConvertUtil.fenToYuan(ms.getGiftOffAmt()));
break;
case C.MS_TYPE.GIFT:
strType = mContext.getString(R.string.ms_type_gift_info, ConvertUtil.fenToYuan(ms.getPayAmt()), ConvertUtil.fenToYuan(ms.getGiftSkuPrice()), ms.getGiftSkuName());
break;
}
SimpleDateFormat df1 = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());
SimpleDateFormat df2 = new SimpleDateFormat("yyyy年M月d日", Locale.getDefault());
SimpleDateFormat df3 = new SimpleDateFormat("HHmmss", Locale.getDefault());
SimpleDateFormat df4 = new SimpleDateFormat("HH:mm", Locale.getDefault());
String db = TimeUtils.date2String(TimeUtils.string2Date(String.valueOf(ms.getMsDateBegin()), df1), df2);
String de = TimeUtils.date2String(TimeUtils.string2Date(String.valueOf(ms.getMsDateEnd()), df1), df2);
StringBuilder strTimeBegin = new StringBuilder(ms.getMsTimeBegin().toString());
StringBuilder strTimeEnd = new StringBuilder(ms.getMsTimeEnd().toString());
for (int i = strTimeBegin.length(); i < 6; i++) {
strTimeBegin.insert(0, "0");
}
for (int i = strTimeEnd.length(); i < 6; i++) {
strTimeEnd.insert(0, "0");
}
String tb = TimeUtils.date2String(TimeUtils.string2Date(strTimeBegin.toString(), df3), df4);
String te = TimeUtils.date2String(TimeUtils.string2Date(strTimeEnd.toString(), df3), df4);
String weekPlan = "";
if (ms.getMsWeekPlan().contains("1")) weekPlan += "周日,";
if (ms.getMsWeekPlan().contains("2")) weekPlan += "周一,";
if (ms.getMsWeekPlan().contains("3")) weekPlan += "周二,";
if (ms.getMsWeekPlan().contains("4")) weekPlan += "周三,";
if (ms.getMsWeekPlan().contains("5")) weekPlan += "周四,";
if (ms.getMsWeekPlan().contains("6")) weekPlan += "周五,";
if (ms.getMsWeekPlan().contains("7")) weekPlan += "周六,";
if (weekPlan.length() > 0) weekPlan = weekPlan.substring(0, weekPlan.lastIndexOf(","));
if (weekPlan.length() >= 20) weekPlan = "每天";
return new String[]{strGroup + strType, db + "~" + de + "\n" + weekPlan + " " + tb + "~" + te};
} }
} }
package com.xingdata.zzdpos.ui.store.dialog; package com.xingdata.zzdpos.ui.store.dialog;
import com.blankj.utilcode.util.StringUtils; import android.support.v7.widget.LinearLayoutManager;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R; import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseSheetDialog; import com.xingdata.zzdpos.base.BaseSheetDialog;
import com.xingdata.zzdpos.databinding.DialogStoreMsBinding; import com.xingdata.zzdpos.databinding.DialogStoreMsBinding;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.Ms; import com.xingdata.zzdpos.model.Ms;
import com.xingdata.zzdpos.ui.store.StorePresenter; import com.xingdata.zzdpos.ui.store.StorePresenter;
import com.xingdata.zzdpos.util.ConvertUtil; import com.xingdata.zzdpos.ui.store.adapter.MsAdapter;
import java.util.List; import java.util.List;
...@@ -24,32 +23,10 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi ...@@ -24,32 +23,10 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
@Override @Override
public void initView() { public void initView() {
mViewBinding.setDisInfo("");
mViewBinding.setPromotionInfo("");
mViewBinding.setMoneyOffInfo("");
mViewBinding.setGiftInfo("");
mViewBinding.tvClose.setOnClickListener(view -> this.dismiss()); mViewBinding.tvClose.setOnClickListener(view -> this.dismiss());
MsAdapter mMsAdapter = new MsAdapter(mMss);
for (int i = 0; i < mMss.size(); i++) { mViewBinding.rlDis.setAdapter(mMsAdapter);
switch (mMss.get(i).getMsTools()) { mViewBinding.rlDis.setLayoutManager(new LinearLayoutManager(mContext));
case C.MS_TYPE.DIS:
mViewBinding.setDisInfo(mViewBinding.getDisInfo() + getMsDescription(mMss.get(i)) + "\n");
break;
case C.MS_TYPE.PROMOTION:
mViewBinding.setPromotionInfo(mViewBinding.getPromotionInfo() + getMsDescription(mMss.get(i)) + "\n");
break;
case C.MS_TYPE.SECOND:
mViewBinding.setDisInfo(mViewBinding.getDisInfo() + getMsDescription(mMss.get(i)) + "\n");
break;
case C.MS_TYPE.MONEY_OFF:
mViewBinding.setMoneyOffInfo(mViewBinding.getMoneyOffInfo() + getMsDescription(mMss.get(i)) + "\n");
break;
case C.MS_TYPE.GIFT:
mViewBinding.setGiftInfo(mViewBinding.getGiftInfo() + getMsDescription(mMss.get(i)) + "\n");
break;
}
}
} }
/** /**
...@@ -61,49 +38,4 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi ...@@ -61,49 +38,4 @@ public class MsDialog extends BaseSheetDialog<StorePresenter, DialogStoreMsBindi
this.mMss = mss; this.mMss = mss;
return this; return this;
} }
/**
* 获取营销计划的文字描述
*
* @param ms 营销计划
* @return 文字描述
*/
private String getMsDescription(Ms ms) {
String strGroup = "", strType = "";
switch (ms.getMsTouchTag2()) {
case C.MS_GROUP.ALL:
strGroup = getString(R.string.ms_group_all_info);
break;
case C.MS_GROUP.BRAND:
strGroup = getString(R.string.ms_group_all_info);
break;
case C.MS_GROUP.CATE:
strGroup = getString(R.string.ms_group_cate_info, ms.getCateName());
break;
case C.MS_GROUP.SKU:
String spuName = DBFactory.Store.querySpuNameBySkuId(ms.getSkuId());
strGroup = getString(R.string.ms_group_sku_info, !StringUtils.isEmpty(spuName) ? spuName : ms.getSkuId());
break;
}
switch (ms.getMsTools()) {
case C.MS_TYPE.DIS:
strType = getString(R.string.ms_type_dis_info, String.valueOf(Double.valueOf(ms.getPriceDiscount()) / 10));
break;
case C.MS_TYPE.PROMOTION:
strType = getString(R.string.ms_type_promotion_info);
break;
case C.MS_TYPE.SECOND:
strType = getString(R.string.ms_type_second_info, String.valueOf(Double.valueOf(ms.getPriceDiscount()) / 10));
break;
case C.MS_TYPE.MONEY_OFF:
strType = getString(R.string.ms_type_money_off_info, ConvertUtil.fenToYuan(ms.getPayAmt()), ConvertUtil.fenToYuan(ms.getGiftOffAmt()));
break;
case C.MS_TYPE.GIFT:
strType = getString(R.string.ms_type_gift_info, ConvertUtil.fenToYuan(ms.getPayAmt()), ConvertUtil.fenToYuan(ms.getGiftSkuPrice()), ms.getGiftSkuName());
break;
}
return strGroup + strType;
}
} }
...@@ -83,7 +83,7 @@ public class SearchBar extends ConstraintLayout { ...@@ -83,7 +83,7 @@ public class SearchBar extends ConstraintLayout {
mViewBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.view_search_bar, this, true); mViewBinding = DataBindingUtil.inflate(LayoutInflater.from(context), R.layout.view_search_bar, this, true);
mViewBinding.etSearch.setOnEditorActionListener((textView, i, keyEvent) -> { 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(); String str = mViewBinding.etSearch.getText().toString();
if (StringUtils.isEmpty(str) && !isEmptyEnabled) { if (StringUtils.isEmpty(str) && !isEmptyEnabled) {
ToastUtils.showShort("请输入搜索内容"); ToastUtils.showShort("请输入搜索内容");
......
...@@ -92,7 +92,8 @@ ...@@ -92,7 +92,8 @@
android:id="@+id/ll_bottom" android:id="@+id/ll_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1.5"
android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal">
<Button <Button
...@@ -107,11 +108,10 @@ ...@@ -107,11 +108,10 @@
android:textColor="@drawable/selector_gray_button_text_color"/> android:textColor="@drawable/selector_gray_button_text_color"/>
<Button <Button
style="@style/button_positive_allradius"
android:id="@+id/btn_ok" android:id="@+id/btn_ok"
android:layout_width="0dp" android:layout_width="@dimen/button1_width"
android:layout_height="wrap_content" android:layout_height="@dimen/button1_height"
android:layout_weight="1"
android:background="@drawable/selector_gradient_red_button_background"
android:onClick="@{onClickListener}" android:onClick="@{onClickListener}"
android:text="@{ok}" android:text="@{ok}"
android:textColor="@color/white"/> android:textColor="@color/white"/>
......
...@@ -2,29 +2,6 @@ ...@@ -2,29 +2,6 @@
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<import type="android.view.View" />
<variable
name="disInfo"
type="String" />
<variable
name="promotionInfo"
type="String" />
<variable
name="moneyOffInfo"
type="String" />
<variable
name="giftInfo"
type="String" />
</data>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -64,128 +41,10 @@ ...@@ -64,128 +41,10 @@
android:background="@color/gray_huanggai" android:background="@color/gray_huanggai"
app:layout_constraintTop_toBottomOf="@id/fl_title" /> app:layout_constraintTop_toBottomOf="@id/fl_title" />
<android.support.v7.widget.RecyclerView
<LinearLayout android:id="@+id/rl_dis"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|start"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:paddingTop="@dimen/all_margin"
android:visibility="@{disInfo.length()>0?View.VISIBLE:View.GONE}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_red_r1"
android:paddingBottom="@dimen/all_shape_radius"
android:paddingEnd="@dimen/all_spacing"
android:paddingStart="@dimen/all_spacing"
android:paddingTop="@dimen/all_shape_radius"
android:text="@string/ms_type_dis"
android:textColor="@color/white_caocao" />
<TextView
android:id="@+id/tv_dis"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_margin"
android:lineSpacingExtra="@dimen/all_spacing"
android:text="@{disInfo}"
android:textColor="@color/black_baozheng" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|start"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:paddingTop="@dimen/all_margin"
android:visibility="@{promotionInfo.length()>0?View.VISIBLE:View.GONE}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_orange_r1"
android:paddingBottom="@dimen/all_shape_radius"
android:paddingEnd="@dimen/all_spacing"
android:paddingStart="@dimen/all_spacing"
android:paddingTop="@dimen/all_shape_radius"
android:text="@string/ms_type_promotion"
android:textColor="@color/white_caocao" />
<TextView
android:id="@+id/tv_promotion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_margin"
android:lineSpacingExtra="@dimen/all_spacing"
android:text="@{promotionInfo}"
android:textColor="@color/black_baozheng" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|start"
android:paddingEnd="@dimen/all_margin"
android:paddingStart="@dimen/all_margin"
android:paddingTop="@dimen/all_margin"
android:visibility="@{moneyOffInfo.length()>0?View.VISIBLE:View.GONE}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_green_r1"
android:paddingBottom="@dimen/all_shape_radius"
android:paddingEnd="@dimen/all_spacing"
android:paddingStart="@dimen/all_spacing"
android:paddingTop="@dimen/all_shape_radius"
android:text="@string/ms_type_money_off"
android:textColor="@color/white_caocao" />
<TextView
android:id="@+id/tv_money_off"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_margin"
android:lineSpacingExtra="@dimen/all_spacing"
android:text="@{moneyOffInfo}"
android:textColor="@color/black_baozheng" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" 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>
</LinearLayout> </LinearLayout>
</layout> </layout>
\ No newline at end of file
...@@ -309,7 +309,6 @@ ...@@ -309,7 +309,6 @@
android:layout_marginTop="@dimen/all_padding" android:layout_marginTop="@dimen/all_padding"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/shape_black" android:background="@drawable/shape_black"
android:paddingLeft="@dimen/all_bounced_spacing"
android:paddingRight="@dimen/all_bounced_spacing"></android.support.v7.widget.RecyclerView> android:paddingRight="@dimen/all_bounced_spacing"></android.support.v7.widget.RecyclerView>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
......
...@@ -36,62 +36,72 @@ ...@@ -36,62 +36,72 @@
<ImageButton <ImageButton
android:id="@+id/btn_back" android:id="@+id/btn_back"
android:layout_width="wrap_content" android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground" android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back" android:contentDescription="@string/all_go_back"
android:gravity="center" android:gravity="center"
android:onClick="@{OnClickListener}" android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding" android:padding="@dimen/all_margin"
android:src="@mipmap/back_black" android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/> app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout <com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginEnd="@dimen/all_padding" android:layout_marginEnd="@dimen/all_margin"
android:gravity="center|left" android:gravity="center|left"
app:layout_constraintBottom_toTopOf="parent" app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back" app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent" 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 <!--<EditText-->
android:id="@+id/et_keyword" <!--android:id="@+id/et_keyword"-->
style="@style/searchBarEditor" <!--style="@style/searchBarEditor"-->
android:layout_width="0dp" <!--android:layout_width="0dp"-->
android:layout_marginEnd="@dimen/all_padding" <!--android:layout_marginEnd="@dimen/all_spacing"-->
android:layout_weight="1" <!--android:layout_weight="1"-->
android:background="@drawable/shape_gray_r1" <!--android:background="@drawable/shape_gray_r1"-->
android:clickable="true" <!--android:clickable="true"-->
android:drawableLeft="@mipmap/ic_search" <!--android:drawableLeft="@mipmap/ic_search"-->
android:drawablePadding="@dimen/all_spacing" <!--android:drawablePadding="@dimen/all_spacing"-->
android:enabled="true" <!--android:enabled="true"-->
android:gravity="center|left" <!--android:gravity="center|left"-->
android:hint="@string/store_search_hint" <!--android:hint="@string/store_search_hint"-->
android:maxLength="20" <!--android:maxLength="20"-->
android:maxLines="1" <!--android:maxLines="1"-->
android:onClick="@{OnClickListener}" <!--android:onClick="@{OnClickListener}"-->
android:paddingLeft="@dimen/all_padding" <!--android:paddingLeft="@dimen/all_padding"-->
android:saveEnabled="false" <!--android:saveEnabled="false"-->
android:textColor="@color/black_likui" <!--android:textColor="@color/black_likui"-->
android:textSize="@dimen/all_text_size_low"/> <!--android:textSize="@dimen/all_text_size_low"/>-->
<TextView <!--<TextView-->
android:id="@+id/btn_seach" <!--android:id="@+id/btn_seach"-->
android:layout_width="wrap_content" <!--android:layout_width="wrap_content"-->
android:layout_height="match_parent" <!--android:layout_height="match_parent"-->
android:background="@color/transparent" <!--android:background="@color/transparent"-->
android:contentDescription="@string/store_scan" <!--android:contentDescription="@string/store_scan"-->
android:foreground="?android:attr/actionBarItemBackground" <!--android:foreground="?android:attr/actionBarItemBackground"-->
android:gravity="center" <!--android:gravity="center"-->
android:onClick="@{OnClickListener}" <!--android:onClick="@{OnClickListener}"-->
android:text="搜索" <!--android:text="搜索"-->
android:textColor="@color/black_baozheng" <!--android:textColor="@color/black_baozheng"-->
android:textSize="@dimen/all_body_size" <!--android:textSize="@dimen/all_body_size"-->
/> <!--/>-->
</LinearLayout> <!--</LinearLayout>-->
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -34,56 +34,65 @@ ...@@ -34,56 +34,65 @@
<ImageButton <ImageButton
android:id="@+id/btn_back" android:id="@+id/btn_back"
android:layout_width="wrap_content" android:layout_width="?attr/actionBarSize"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?attr/actionBarItemBackground" android:background="?attr/actionBarItemBackground"
android:contentDescription="@string/all_go_back" android:contentDescription="@string/all_go_back"
android:gravity="center" android:gravity="center"
android:onClick="@{OnClickListener}" android:onClick="@{OnClickListener}"
android:padding="@dimen/all_padding" android:padding="@dimen/all_margin"
android:src="@mipmap/back_black" android:src="@mipmap/back_black"
app:layout_constraintLeft_toLeftOf="parent"/> app:layout_constraintLeft_toLeftOf="parent"/>
<LinearLayout <com.xingdata.zzdpos.view.SearchBar
android:id="@+id/v_search"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="0dp"
android:layout_marginEnd="@dimen/all_padding" app:hint="@string/store_search_hint"
android:gravity="center" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back" app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="parent" 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 <!--<EditText-->
android:id="@+id/et_keyword" <!--android:id="@+id/et_keyword"-->
style="@style/searchBarEditor" <!--style="@style/searchBarEditor"-->
android:layout_width="0dp" <!--android:layout_width="0dp"-->
android:layout_marginEnd="@dimen/all_padding" <!--android:layout_marginEnd="@dimen/all_spacing"-->
android:layout_weight="1" <!--android:layout_weight="1"-->
android:focusable="true" <!--android:focusable="true"-->
android:hint="@string/store_search_hint" <!--android:hint="@string/store_search_hint"-->
android:imeOptions="actionSearch" <!--android:imeOptions="actionSearch"-->
android:inputType="text" <!--android:inputType="text"-->
android:labelFor="@+id/et_search" <!--android:labelFor="@+id/et_search"-->
android:saveEnabled="false" <!--android:saveEnabled="false"-->
android:textColor="@color/black_likui" <!--android:textColor="@color/black_likui"-->
android:textSize="@dimen/all_text_size_low"/> <!--android:textSize="@dimen/all_text_size_low"/>-->
<TextView <!--<TextView-->
android:id="@+id/btn_seach" <!--android:id="@+id/btn_seach"-->
android:layout_width="wrap_content" <!--android:layout_width="wrap_content"-->
android:layout_height="match_parent" <!--android:layout_height="match_parent"-->
android:background="@color/transparent" <!--android:background="@color/transparent"-->
android:contentDescription="@string/store_scan" <!--android:contentDescription="@string/store_scan"-->
android:foreground="?android:attr/actionBarItemBackground" <!--android:foreground="?android:attr/actionBarItemBackground"-->
android:gravity="center" <!--android:gravity="center"-->
android:onClick="@{OnClickListener}" <!--android:onClick="@{OnClickListener}"-->
android:text="搜索" <!--android:text="搜索"-->
android:textColor="@color/black_baozheng" <!--android:textColor="@color/black_baozheng"-->
android:textSize="@dimen/all_body_size" <!--android:textSize="@dimen/all_body_size"-->
/> <!--/>-->
</LinearLayout> <!--</LinearLayout>-->
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -76,8 +76,7 @@ ...@@ -76,8 +76,7 @@
android:id="@+id/v_search" android:id="@+id/v_search"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:inputType="number" app:inputType="number"
android:maxLength="11"
app:hint="@string/store_search_hint" app:hint="@string/store_search_hint"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/btn_back" app:layout_constraintLeft_toRightOf="@id/btn_back"
......
...@@ -9,16 +9,15 @@ ...@@ -9,16 +9,15 @@
</data> </data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="75dp" android:layout_width="match_parent"
android:layout_height="75dp" android:layout_height="40dp"
android:layout_margin="@dimen/all_padding"
android:foreground="?android:attr/selectableItemBackground" android:foreground="?android:attr/selectableItemBackground"
android:orientation="vertical"> android:orientation="vertical">
<com.facebook.drawee.view.SimpleDraweeView <com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/iv_pic" android:id="@+id/iv_pic"
android:layout_width="25dp" android:layout_width="match_parent"
android:layout_height="25dp" android:layout_height="match_parent"
android:src="@mipmap/icon_qrcode"/> android:src="@mipmap/icon_qrcode"/>
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>
......
...@@ -5,8 +5,46 @@ ...@@ -5,8 +5,46 @@
<android.support.constraint.ConstraintLayout <android.support.constraint.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white_caocao" android:paddingEnd="@dimen/all_margin"
android:foreground="?android:attr/selectableItemBackground"> android:paddingStart="@dimen/all_margin"
android:paddingTop="@dimen/all_margin">
<TextView
android:id="@+id/tv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_red_r1"
android:paddingBottom="@dimen/all_shape_radius"
android:paddingEnd="@dimen/all_spacing"
android:paddingStart="@dimen/all_spacing"
android:paddingTop="@dimen/all_shape_radius"
android:text="@string/ms_type_dis"
android:textColor="@color/white_caocao" />
<TextView
android:id="@+id/tv_description"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_margin"
android:gravity="center_vertical"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_body_size"
app:layout_constraintLeft_toRightOf="@id/tv_type"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_type" />
<TextView
android:id="@+id/tv_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/all_spacing"
android:layout_marginTop="@dimen/all_spacing"
android:textColor="@color/black_likui"
android:textSize="@dimen/all_caption_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="@id/tv_description"
app:layout_constraintRight_toRightOf="@id/tv_description"
app:layout_constraintTop_toBottomOf="@id/tv_description" />
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>
......
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