Commit 97fd5e85 authored by 王海's avatar 王海

修改大bug

parent 0499d201
......@@ -133,26 +133,5 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
dialogDismiss();
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressedSupport() {
dialogDismiss();
super.onBackPressedSupport();
}
/**
* 关闭对话框
*/
public void dialogDismiss() {
if (null != mLoadingDialog && mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
}
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;
......@@ -21,6 +19,7 @@ import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ScreenUtils;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.databinding.DialogBaseBinding;
......@@ -41,7 +40,8 @@ import io.reactivex.functions.Function;
* @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 Disposable mDisp;
......@@ -50,6 +50,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
public P mPresenter;
public B mViewBinding;
public boolean isShowing;
private long recLen = -1;
private boolean shutDown = false;
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
......@@ -139,7 +141,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
mBaseBinding = DataBindingUtil.inflate(inflater, R.layout.dialog_base, container, false);
mBaseBinding.vsCenter.getViewStub().setLayoutResource(getLayoutId());
mBaseBinding.vsCenter.getViewStub().setOnInflateListener((viewStub, view) -> mViewBinding = DataBindingUtil.bind(view));
mBaseBinding.vsCenter.getViewStub().setOnInflateListener((viewStub, view) -> mViewBinding
= DataBindingUtil.bind(view));
mBaseBinding.vsCenter.getViewStub().inflate();
if (!isShowTitle() || getTitle() < 0) mBaseBinding.tvTitle.setVisibility(View.GONE);
......@@ -179,14 +182,7 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
isShowing = false;
if (getBaseActivity() != null && getBaseActivity().mDialogs != null) {
getBaseActivity().mDialogs.remove(this);
}
if (null != mDisp && (!mDisp.isDisposed())) {
mDisp.dispose();
}
dismiss();
}
/**
......@@ -212,6 +208,8 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
*/
public void show(BaseActivity activity) {
if (!isShowing) {
this.recLen = -1;
this.shutDown = false;
super.show(activity.getSupportFragmentManager(), this.getTag());
isShowing = true;
}
......@@ -221,16 +219,19 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
* 显示,并在一定时间之后自动关闭
*
* @param activity context
* @param recLen 自动关闭的时间
* @param mRecLen 自动关闭的时间
*/
public void show(BaseActivity activity, int recLen) {
public void show(BaseActivity activity, int mRecLen) {
if (!isShowing) {
this.recLen = mRecLen;
this.shutDown = true;
super.show(activity.getSupportFragmentManager(), this.getTag());
isShowing = true;
Observable.interval(0, 1, TimeUnit.SECONDS).take(recLen + 1).map(new Function<Long, Long>() {
Observable.interval(0, 1, TimeUnit.SECONDS).take(recLen + 1).map(new Function<Long,
Long>() {
@Override
public Long apply(@io.reactivex.annotations.NonNull Long aLong) throws Exception {
return recLen - aLong;
return mRecLen - aLong;
}
}).observeOn(AndroidSchedulers.mainThread()).doOnSubscribe(new Consumer<Disposable>() {
@Override
......@@ -245,6 +246,7 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
@Override
public void onNext(@io.reactivex.annotations.NonNull Long aLong) {
recLen = aLong;
LogUtils.e("对话框将在" + aLong + "S后关闭");
}
......@@ -256,20 +258,20 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
@Override
public void onComplete() {
dismiss();
if (null != mDisp) {
mDisp.dispose();
}
}
});
}
}
/**
* 关闭
*/
public void dismiss() {
if (isShowing) {
isShowing = false;
if (getBaseActivity() != null && getBaseActivity().mDialogs != null) {
getBaseActivity().mDialogs.remove(this);
}
if (null != mDisp && (!mDisp.isDisposed())) {
mDisp.dispose();
}
......@@ -277,6 +279,16 @@ public abstract class BaseDialog<P extends BasePresenter, B extends ViewDataBind
}
}
public void toughDismiss() {
if (shutDown) {
if (recLen <= 0) {
dismiss();
} else {
ToastUtils.showLong(recLen + "s 后可关闭");
}
}
}
/**
* 设置标题
*
......
......@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
......@@ -27,6 +28,15 @@ public class LoadingDialog extends BaseDialog<BasePresenter, DialogLoadingBindin
@Override
public void initView() {
this.setCancelable(false);
this.getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialogInterface, int i, KeyEvent keyEvent) {
if (i == keyEvent.KEYCODE_BACK) {
toughDismiss();
}
return true;
}
});
}
@Override
......
......@@ -334,8 +334,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, ActivityLoginBin
} else {
pop();
}
super.onBackPressedSupport();
}
private void closeLoading(LoadingDialog loadingDialog) {
......
......@@ -59,11 +59,9 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P,
@Override
public void initView() {
if (!titleStr.equals("")) {
mViewBinding.vsTitle.getViewStub().setVisibility(View.VISIBLE);
viewStub = mViewBinding.vsTitle.getViewStub();
if (viewStub.getParent() != null) {
inflated = viewStub.inflate();
}
inflated = viewStub.inflate();
viewStub.setVisibility(View.VISIBLE);
inflated.findViewById(R.id.iv_back).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
......
......@@ -49,59 +49,12 @@
<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|left"
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_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"/>-->
<!--<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>-->
<View
android:layout_width="match_parent"
......
......@@ -53,46 +53,6 @@
app:layout_constraintLeft_toRightOf="@id/btn_back"
app:layout_constraintRight_toRightOf="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"/>-->
<!--<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>-->
<View
android:layout_width="match_parent"
......
......@@ -250,6 +250,8 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"
android:paddingLeft="@dimen/all_bounced_padding"
android:paddingRight="@dimen/all_bounced_padding"
android:visibility="visible"/>
</LinearLayout>
......
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