Commit 7e856eaf by sikang

update

parent fcbdd49a
...@@ -71,12 +71,12 @@ ...@@ -71,12 +71,12 @@
android:name="firebase_messaging_auto_init_enabled" android:name="firebase_messaging_auto_init_enabled"
android:value="false" /> android:value="false" />
<service android:name=".common.service.MsgHandleService"> <service android:name=".service.MsgHandleService">
<intent-filter> <intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" /> <action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter> </intent-filter>
</service> </service>
<service android:name=".common.service.MsgInstanceIdService"> <service android:name=".service.MsgInstanceIdService">
<intent-filter> <intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter> </intent-filter>
......
...@@ -23,7 +23,7 @@ import io.reactivex.Observable; ...@@ -23,7 +23,7 @@ import io.reactivex.Observable;
import io.reactivex.subjects.BehaviorSubject; import io.reactivex.subjects.BehaviorSubject;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.R; import tech.starwin.R;
import tech.starwin.common.service.MsgHandleService; import tech.starwin.service.MsgHandleService;
import tech.starwin.mvp.IView; import tech.starwin.mvp.IView;
import tech.starwin.utils.PresenterHoler; import tech.starwin.utils.PresenterHoler;
import tech.starwin.utils.context_utils.FragmentLauncher; import tech.starwin.utils.context_utils.FragmentLauncher;
......
...@@ -11,7 +11,7 @@ import io.reactivex.schedulers.Schedulers; ...@@ -11,7 +11,7 @@ import io.reactivex.schedulers.Schedulers;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Callback; import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
import tech.starwin.common.impl.HttpObserver; import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.IView; import tech.starwin.mvp.IView;
import tech.starwin.network.ServiceGenerator; import tech.starwin.network.ServiceGenerator;
......
package tech.starwin.common.impl; package tech.starwin.impl;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
......
package tech.starwin.common.impl; package tech.starwin.impl;
import android.view.View; import android.view.View;
import tech.starwin.utils.FireBaseHelper; import tech.starwin.utils.FireBaseHelper;
import tech.starwin.utils.LogUtils;
/** /**
* Created by SiKang on 2018/10/11. * Created by SiKang on 2018/10/11.
......
package tech.starwin.common.impl; package tech.starwin.impl;
import android.view.View; import android.view.View;
...@@ -6,7 +6,6 @@ import android.view.View; ...@@ -6,7 +6,6 @@ import android.view.View;
* Created by SiKang on 2018/9/18. * Created by SiKang on 2018/9/18.
*/ */
public abstract class OnNoShakeClickListener extends OnEventClickListener { public abstract class OnNoShakeClickListener extends OnEventClickListener {
public abstract void onNoShakeClick(View view);
public int lockTime = 1500; public int lockTime = 1500;
...@@ -27,6 +26,11 @@ public abstract class OnNoShakeClickListener extends OnEventClickListener { ...@@ -27,6 +26,11 @@ public abstract class OnNoShakeClickListener extends OnEventClickListener {
v.setClickable(true); v.setClickable(true);
} }
}, lockTime); }, lockTime);
onNoShakeClick(v); onEventClick(v);
}
@Override
public void onEventClick(View v) {
} }
} }
package tech.starwin.common.impl; package tech.starwin.impl;
import com.qmuiteam.qmui.widget.QMUITabSegment; import com.qmuiteam.qmui.widget.QMUITabSegment;
......
...@@ -2,25 +2,18 @@ package tech.starwin.mvp.presenter; ...@@ -2,25 +2,18 @@ package tech.starwin.mvp.presenter;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.google.gson.Gson; import com.google.gson.Gson;
import java.io.File; import java.io.File;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.functions.BiFunction;
import okhttp3.MultipartBody;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.common.impl.HttpObserver; import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.UploadApi; import tech.starwin.mvp.api.UploadApi;
import tech.starwin.mvp.api.UserApi;
import tech.starwin.mvp.beans.EmploymentBean; import tech.starwin.mvp.beans.EmploymentBean;
import tech.starwin.mvp.beans.OcrResultBean; import tech.starwin.mvp.beans.OcrResultBean;
import tech.starwin.network.ServiceGenerator;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
import tech.starwin.utils.MultipartBodyMaker; import tech.starwin.utils.MultipartBodyMaker;
......
...@@ -10,7 +10,7 @@ import io.reactivex.functions.Function; ...@@ -10,7 +10,7 @@ import io.reactivex.functions.Function;
import io.reactivex.functions.Predicate; import io.reactivex.functions.Predicate;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.common.impl.HttpObserver; import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.UserApi; import tech.starwin.mvp.api.UserApi;
import tech.starwin.mvp.beans.EmploymentBean; import tech.starwin.mvp.beans.EmploymentBean;
import tech.starwin.mvp.beans.GatewayInfoBean; import tech.starwin.mvp.beans.GatewayInfoBean;
......
package tech.starwin.common.service; package tech.starwin.service;
import android.content.Context; import android.content.Context;
......
package tech.starwin.common.service; package tech.starwin.service;
import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.FirebaseInstanceIdService; import com.google.firebase.iid.FirebaseInstanceIdService;
......
...@@ -21,16 +21,16 @@ public class FireBaseHelper { ...@@ -21,16 +21,16 @@ public class FireBaseHelper {
public static final String REST_URL = "rest_url"; public static final String REST_URL = "rest_url";
/** /**
* click埋点,ITEM_NAME = view.getTag() * click埋点,CONTENT_TYPE = view.getTag()
*/ */
public static void LogClickEventByTag(View view) { public static void LogClickEventByTag(View view) {
if (view.getTag() != null && view.getTag() instanceof String) { if (view.getTag() != null && view.getTag() instanceof String) {
logClickEvent(view.getContext(), (String) view.getTag()); logClickEventByName(view.getContext(), (String) view.getTag());
} }
} }
/** /**
* click埋点 ITEM_NAME = view.getText() * click埋点 CONTENT_TYPE = view.getText()
*/ */
public static void LogClickEventByText(View view) { public static void LogClickEventByText(View view) {
String itemName = ""; String itemName = "";
...@@ -40,14 +40,14 @@ public class FireBaseHelper { ...@@ -40,14 +40,14 @@ public class FireBaseHelper {
itemName = ((Button) view).getText().toString(); itemName = ((Button) view).getText().toString();
} }
if (!TextUtils.isEmpty(itemName)) { if (!TextUtils.isEmpty(itemName)) {
logClickEvent(view.getContext(), itemName); logClickEventByName(view.getContext(), itemName);
} }
} }
/** /**
* click埋点 * click埋点
*/ */
public static void logClickEvent(Context context, String itemName) { public static void logClickEventByName(Context context, String itemName) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "click_" + itemName); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "click_" + itemName);
FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
......
package tech.starwin.utils.ui_utils;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import android.support.v4.content.ContextCompat;
import android.view.View;
import com.qmuiteam.qmui.widget.QMUIEmptyView;
import com.qmuiteam.qmui.widget.QMUITabSegment;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
import tech.starwin.utils.BitmapUtils;
import tech.starwin.widget.PageStateLayout;
/**
* Created by SiKang on 2018/10/12.
*/
public class QMUIHelper {
/**
* 为一个View 套一个 EmptyView外壳,用于展示无数据和重试的情况
*
* @param targetView 需要套壳,加入状态显示的View
* @param emptyText 没有数据时的提示文字
* @param retryText 重试按钮的文字
* @param listener 当pageStateLayout.retry() 被执行时的刷新处理
*/
public static PageStateLayout bindEmptyView(View targetView, final String emptyText, final String retryText, PageStateLayout.OnRetryListener listener) {
//创建一个默认的EmptyView
final QMUIEmptyView emptyView = new QMUIEmptyView(targetView.getContext());
emptyView.setBackgroundColor(Color.WHITE);
//给targetView 套壳
final PageStateLayout pageStateLayout = new PageStateLayout.Builder(targetView)
.setCustomView(emptyView)
.setOnRetryListener(listener)
.create();
//不同状态的UI处理
pageStateLayout.setOnStateChangedListener(new PageStateLayout.OnStateChangedListener() {
@Override
public void onLoading(PageStateLayout.ViewHolder holder) {
emptyView.show(true);
}
@Override
public void onError(PageStateLayout.ViewHolder holder) {
}
@Override
public void onEmpty(PageStateLayout.ViewHolder holder) {
emptyView.show(false, emptyText, null, retryText, new View.OnClickListener() {
@Override
public void onClick(View v) {
pageStateLayout.retry();
}
});
}
});
return pageStateLayout;
}
/**
* 创建一个(icon + text)类型的Tab按钮
*/
public static QMUITabSegment.Tab createTab(Context context, @DrawableRes int normalIcon, @DrawableRes int selectIcon, String text) {
return new QMUITabSegment.Tab(
ContextCompat.getDrawable(context, normalIcon),
ContextCompat.getDrawable(context, selectIcon),
text, false
);
}
/**
* 创建一个(icon + text)类型的Tab按钮,并按指定尺寸显示icon
*/
public static QMUITabSegment.Tab createTab(Context context, int iconWidtn, int iconHeight, @DrawableRes int normalIcon, @DrawableRes int selectIcon, String text) {
Bitmap normalBitmap = BitmapFactory.decodeResource(context.getResources(),
normalIcon);
Bitmap selectBitmap = BitmapFactory.decodeResource(context.getResources(),
selectIcon);
Drawable normalDrawble = new BitmapDrawable(BitmapUtils.scaleBitmap(normalBitmap, iconWidtn, iconHeight));
Drawable selectDrawble = new BitmapDrawable(BitmapUtils.scaleBitmap(selectBitmap, iconWidtn, iconHeight));
return new QMUITabSegment.Tab(normalDrawble, selectDrawble, text, false);
}
/**
* 创建一个(text)类型的Tab按钮
*/
public static QMUITabSegment.Tab createTab(String text) {
return new QMUITabSegment.Tab(text);
}
/**
* 创建一个只包含 Text 的item按钮
*/
public static QMUICommonListItemView createItemView(int id, QMUIGroupListView groupListView, @StringRes int titleId) {
return createChevronItemView(id, groupListView, groupListView.getContext().getString(titleId));
}
public static QMUICommonListItemView createItemCiew(int id, QMUIGroupListView groupListView, String title) {
QMUICommonListItemView itemWithChevron = groupListView.createItemView(title);
itemWithChevron.setId(id);
return itemWithChevron;
}
/**
* 创建一个 Text + 右箭头的 item按钮
*/
public static QMUICommonListItemView createChevronItemView(int id, QMUIGroupListView groupListView, @StringRes int titleId) {
return createChevronItemView(id, groupListView, groupListView.getContext().getString(titleId));
}
public static QMUICommonListItemView createChevronItemView(int id, QMUIGroupListView groupListView, String title) {
QMUICommonListItemView itemWithChevron = createItemCiew(id, groupListView, title);
itemWithChevron.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
return itemWithChevron;
}
}
...@@ -25,15 +25,12 @@ import android.view.inputmethod.InputMethodManager; ...@@ -25,15 +25,12 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;
import com.qmuiteam.qmui.widget.QMUITabSegment;
import com.qmuiteam.qmui.widget.grouplist.QMUICommonListItemView;
import com.qmuiteam.qmui.widget.grouplist.QMUIGroupListView;
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.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import tech.starwin.utils.BitmapUtils; import tech.starwin.utils.BitmapUtils;
import tech.starwin.widget.PageStateLayout;
/** /**
...@@ -179,67 +176,6 @@ public class UIHelper { ...@@ -179,67 +176,6 @@ public class UIHelper {
return outMetrics.heightPixels; return outMetrics.heightPixels;
} }
/**
* 创建一个(icon + text)类型的Tab按钮
*/
public static QMUITabSegment.Tab createTab(Context context, @DrawableRes int normalIcon, @DrawableRes int selectIcon, String text) {
return new QMUITabSegment.Tab(
ContextCompat.getDrawable(context, normalIcon),
ContextCompat.getDrawable(context, selectIcon),
text, false
);
}
/**
* 创建一个(icon + text)类型的Tab按钮,并按指定尺寸显示icon
*/
public static QMUITabSegment.Tab createTab(Context context, int iconWidtn, int iconHeight, @DrawableRes int normalIcon, @DrawableRes int selectIcon, String text) {
Bitmap normalBitmap = BitmapFactory.decodeResource(context.getResources(),
normalIcon);
Bitmap selectBitmap = BitmapFactory.decodeResource(context.getResources(),
selectIcon);
Drawable normalDrawble = new BitmapDrawable(BitmapUtils.scaleBitmap(normalBitmap, iconWidtn, iconHeight));
Drawable selectDrawble = new BitmapDrawable(BitmapUtils.scaleBitmap(selectBitmap, iconWidtn, iconHeight));
return new QMUITabSegment.Tab(normalDrawble, selectDrawble, text, false);
}
/**
* 创建一个(text)类型的Tab按钮
*/
public static QMUITabSegment.Tab createTab(String text) {
return new QMUITabSegment.Tab(text);
}
/**
* 创建一个只包含 Text 的item按钮
*/
public static QMUICommonListItemView createItemView(int id, QMUIGroupListView groupListView, @StringRes int titleId) {
return createChevronItemView(id, groupListView, groupListView.getContext().getString(titleId));
}
public static QMUICommonListItemView createItemCiew(int id, QMUIGroupListView groupListView, String title) {
QMUICommonListItemView itemWithChevron = groupListView.createItemView(title);
itemWithChevron.setId(id);
return itemWithChevron;
}
/**
* 创建一个 Text + 右箭头的 item按钮
*/
public static QMUICommonListItemView createChevronItemView(int id, QMUIGroupListView groupListView, @StringRes int titleId) {
return createChevronItemView(id, groupListView, groupListView.getContext().getString(titleId));
}
public static QMUICommonListItemView createChevronItemView(int id, QMUIGroupListView groupListView, String title) {
QMUICommonListItemView itemWithChevron = createItemCiew(id, groupListView, title);
itemWithChevron.setAccessoryType(QMUICommonListItemView.ACCESSORY_TYPE_CHEVRON);
return itemWithChevron;
}
/** /**
* 模拟返回键 * 模拟返回键
......
...@@ -15,34 +15,50 @@ import tech.starwin.R; ...@@ -15,34 +15,50 @@ import tech.starwin.R;
/** /**
* Created by SiKang on 2018/9/19. * Created by SiKang on 2018/9/19.
*/ */
public class LoadDialog extends Dialog { public class LoadingDialog extends Dialog {
private ObjectAnimator mLoadAnimation; private ObjectAnimator mRotationAnimation;
private ObjectAnimator mScaleXAnimation;
private ObjectAnimator mScaleYAnimation;
public LoadDialog(@NonNull Context context) { public LoadingDialog(@NonNull Context context) {
super(context, R.style.style_bg_transparent_dialog); super(context, R.style.style_bg_transparent_dialog);
View view = LayoutInflater.from(context).inflate(R.layout.base_progress_loading, null, false); View view = LayoutInflater.from(context).inflate(R.layout.base_progress_loading, null, false);
setContentView(view); setContentView(view);
setCanceledOnTouchOutside(false); setCanceledOnTouchOutside(false);
ImageView rotationView = view.findViewById(R.id.progress_dialog_loadingImv); ImageView rotationView = view.findViewById(R.id.progress_dialog_loadingImv);
ImageView iconView = view.findViewById(R.id.progress_dialog_iconImv); ImageView iconView = view.findViewById(R.id.progress_dialog_iconImv);
rotationView.setImageResource(LibConfig.LOADING_BACKGROUND); rotationView.setImageResource(LibConfig.LOADING_BACKGROUND);
iconView.setImageResource(LibConfig.LOADING_ICON); iconView.setImageResource(LibConfig.LOADING_ICON);
//初始化动画
mLoadAnimation = ObjectAnimator.ofFloat(rotationView, "rotation", 0, 360); mRotationAnimation = ObjectAnimator.ofFloat(rotationView, "rotation", 0, 360);
mLoadAnimation.setDuration(1000); mRotationAnimation.setDuration(1000);
mLoadAnimation.setRepeatCount(Animation.INFINITE); mRotationAnimation.setRepeatCount(Animation.INFINITE);
mScaleXAnimation = ObjectAnimator.ofFloat(rotationView, "scaleX", 1f, 1.5f, 1f);
mScaleXAnimation.setDuration(1000);
mScaleXAnimation.setRepeatCount(Animation.INFINITE);
mScaleYAnimation = ObjectAnimator.ofFloat(rotationView, "scaleY", 1f, 1.5f, 1f);
mScaleYAnimation.setDuration(1000);
mScaleYAnimation.setRepeatCount(Animation.INFINITE);
} }
@Override @Override
public void show() { public void show() {
super.show(); super.show();
mLoadAnimation.start(); mRotationAnimation.start();
mScaleXAnimation.start();
mScaleYAnimation.start();
} }
@Override @Override
public void dismiss() { public void dismiss() {
super.dismiss(); super.dismiss();
mLoadAnimation.cancel(); mRotationAnimation.cancel();
mScaleXAnimation.cancel();
mScaleYAnimation.cancel();
} }
} }
package tech.starwin.widget;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.HashMap;
import java.util.Map;
/**
* Created by SiKang on 2018/10/12.
*/
public class PageStateLayout extends FrameLayout {
private View mStateView;
private OnStateChangedListener onStateChangedListener;
private OnRetryListener onRetryListener;
private ViewHolder viewHolder;
private PageStateLayout(@NonNull Context context) {
super(context);
}
private PageStateLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
private PageStateLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
private void setCustomView(@NonNull View view) {
mStateView = view;
viewHolder = new ViewHolder(view);
addView(mStateView);
}
public void setOnStateChangedListener(OnStateChangedListener onStateChangedListener) {
this.onStateChangedListener = onStateChangedListener;
}
public void setOnRetryListener(OnRetryListener onRetryListener) {
this.onRetryListener = onRetryListener;
}
public void showError() {
showStateView();
if (onStateChangedListener != null) {
onStateChangedListener.onError(viewHolder);
}
}
public void showLoading() {
showStateView();
if (onStateChangedListener != null) {
onStateChangedListener.onLoading(viewHolder);
}
}
public void showEmpty() {
showStateView();
if (onStateChangedListener != null) {
onStateChangedListener.onEmpty(viewHolder);
}
}
public void retry() {
hide();
if (onRetryListener != null) {
onRetryListener.onRetry();
}
}
public void hide() {
if (mStateView != null) {
mStateView.setVisibility(GONE);
}
}
private void showStateView() {
if (mStateView != null) {
mStateView.setVisibility(VISIBLE);
}
}
public static class Builder {
private PageStateLayout pageStateLayout;
public Builder(View view) {
//得到目标父布局,将view记录索引后,从布局中移除
ViewGroup parent = (ViewGroup) view.getParent();
int index = parent.indexOfChild(view);
parent.removeView(view);
//创建PageStateLayout,并添加到之前view所在的位置
pageStateLayout = new PageStateLayout(view.getContext());
parent.addView(pageStateLayout, index, view.getLayoutParams());
pageStateLayout.addView(view);
}
public Builder setCustomView(@NonNull View view) {
pageStateLayout.setCustomView(view);
return this;
}
public Builder setOnStateChangedListener(OnStateChangedListener listener) {
pageStateLayout.setOnStateChangedListener(listener);
return this;
}
public Builder setOnRetryListener(OnRetryListener listener) {
pageStateLayout.setOnRetryListener(listener);
return this;
}
public PageStateLayout create() {
return pageStateLayout;
}
}
public static class ViewHolder {
private View view;
Map<Integer, View> childViews;
public ViewHolder(View view) {
childViews = new HashMap<>();
this.view = view;
}
public View getContentView() {
return view;
}
public View getView(int id) {
if (childViews.containsKey(id)) {
return childViews.get(id);
} else {
return view.findViewById(id);
}
}
public TextView getTextView(int viewId) {
return (TextView) getView(viewId);
}
public Button getButton(int viewId) {
return (Button) getView(viewId);
}
public ImageView getImageView(int viewId) {
return (ImageView) getView(viewId);
}
public ImageButton getImageButton(int viewId) {
return (ImageButton) getView(viewId);
}
public EditText getEditText(int viewId) {
return (EditText) getView(viewId);
}
}
public interface OnStateChangedListener {
void onLoading(ViewHolder holder);
void onError(ViewHolder holder);
void onEmpty(ViewHolder holder);
}
public interface OnRetryListener {
void onRetry();
}
}
...@@ -8,7 +8,6 @@ import android.support.annotation.NonNull; ...@@ -8,7 +8,6 @@ import android.support.annotation.NonNull;
import com.qmuiteam.qmui.widget.dialog.QMUITipDialog; import com.qmuiteam.qmui.widget.dialog.QMUITipDialog;
import tech.starwin.utils.ui_utils.DialogFactory; import tech.starwin.utils.ui_utils.DialogFactory;
import tech.starwin.widget.LoadDialog;
/** /**
...@@ -21,7 +20,7 @@ public class ProgressDialog { ...@@ -21,7 +20,7 @@ public class ProgressDialog {
public ProgressDialog(@NonNull Context context) { public ProgressDialog(@NonNull Context context) {
this.context = context; this.context = context;
this.loadingDialog = new LoadDialog(context); this.loadingDialog = new LoadingDialog(context);
} }
public ProgressDialog(@NonNull Dialog loadingDialog) { public ProgressDialog(@NonNull Dialog loadingDialog) {
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:background="@android:color/transparent"> android:background="@android:color/transparent">
<TextView
android:layout_width="@dimen/x_500"
android:layout_height="@dimen/x_500" />
<ImageView <ImageView
android:id="@+id/progress_dialog_loadingImv" android:id="@+id/progress_dialog_loadingImv"
android:layout_width="@dimen/x_300" android:layout_width="@dimen/x_200"
android:layout_height="@dimen/x_300" android:layout_height="@dimen/x_200"
android:layout_centerInParent="true" /> android:layout_centerInParent="true" />
<ImageView <ImageView
......
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