Skip to content

Commit fcd3bed

Browse files
committed
update RxDialogChooseImage.
1 parent 1bb8d89 commit fcd3bed

File tree

8 files changed

+169
-110
lines changed

8 files changed

+169
-110
lines changed

RxDemo/src/main/java/com/tamsiree/rxdemo/activity/ActivityRxPhoto.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ class ActivityRxPhoto : ActivityBase() {
4949
+ r.getResourceEntryName(R.drawable.circle_elves_ball))
5050
rx_title.setLeftFinish(mContext)
5151
iv_avatar.setOnClickListener { initDialogChooseImage() }
52-
iv_avatar.setOnLongClickListener { // RxImageTool.showBigImageView(mContext, resultUri);
53-
val rxDialogScaleView = RxDialogScaleView(mContext)
54-
rxDialogScaleView.setImage(resultUri)
52+
iv_avatar.setOnLongClickListener {
53+
//RxImageTool.showBigImageView(mContext, resultUri);
54+
val rxDialogScaleView = RxDialogScaleView(mContext, resultUri)
5555
rxDialogScaleView.show()
5656
false
5757
}
@@ -68,7 +68,7 @@ class ActivityRxPhoto : ActivityBase() {
6868
}
6969

7070
private fun initDialogChooseImage() {
71-
val dialogChooseImage = RxDialogChooseImage(mContext)
71+
val dialogChooseImage = RxDialogChooseImage(mContext, resultUri)
7272
dialogChooseImage.show()
7373
}
7474

RxKit/src/main/java/com/tamsiree/rxkit/RxActivityTool.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,14 @@ object RxActivityTool {
6464
* 结束当前Activity(堆栈中最后一个压入的)
6565
*/
6666
@JvmStatic
67-
fun finishActivity() {
67+
@JvmOverloads
68+
fun finishActivity(isTransition: Boolean = false) {
6869
val activity = activityStack?.lastElement()
69-
activity!!.finish()
70+
if (isTransition) {
71+
activity?.onBackPressed()
72+
} else {
73+
activity?.finish()
74+
}
7075
}
7176

7277
/**

RxUI/src/main/java/com/tamsiree/rxui/view/RxTitle.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ import com.tamsiree.rxui.R
2626
*/
2727
class RxTitle : FrameLayout {
2828

29-
//*******************************************控件start******************************************
30-
3129
//*******************************************控件start******************************************
3230
private var mRootView: View? = null
3331

@@ -60,9 +58,9 @@ class RxTitle : FrameLayout {
6058

6159
//右边TextView控件
6260
private var mTvRight: TextView? = null
63-
//===========================================控件end=============================================
6461

6562
//===========================================控件end=============================================
63+
6664
//*******************************************属性start*******************************************
6765
//Title文字
6866
private var mTitle: String? = null
@@ -76,8 +74,6 @@ class RxTitle : FrameLayout {
7674
//Title是否显示
7775
private var mTitleVisibility = false
7876

79-
//------------------------------------------左侧布局---------------------------------------------
80-
8177
//------------------------------------------左侧布局---------------------------------------------
8278
//左边 ICON 引用的资源ID
8379
private var mLeftIcon = 0
@@ -99,7 +95,6 @@ class RxTitle : FrameLayout {
9995

10096
//--------------------------------------------右侧布局-------------------------------------------
10197

102-
//--------------------------------------------右侧布局-------------------------------------------
10398
//右边 ICON 引用的资源ID
10499
private var mRightIcon = 0
105100

RxUI/src/main/java/com/tamsiree/rxui/view/dialog/RxDialogChooseImage.java

Lines changed: 78 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.tamsiree.rxui.view.dialog;
22

33
import android.app.Activity;
4+
import android.net.Uri;
45
import android.view.Gravity;
56
import android.view.LayoutInflater;
67
import android.view.View;
8+
import android.widget.Button;
79
import android.widget.TextView;
810

911
import androidx.fragment.app.Fragment;
@@ -22,7 +24,9 @@ public class RxDialogChooseImage extends RxDialog {
2224
private LayoutType mLayoutType = LayoutType.TITLE;
2325
private TextView mTvCamera;
2426
private TextView mTvFile;
25-
private TextView mTvCancel;
27+
private Button btnCancel;
28+
private TextView tvOriginalImage;
29+
private Uri uriOriginalImage;
2630

2731
public RxDialogChooseImage(Activity context) {
2832
super(context);
@@ -34,6 +38,18 @@ public RxDialogChooseImage(Fragment fragment) {
3438
initView(fragment);
3539
}
3640

41+
public RxDialogChooseImage(Activity context, Uri uri) {
42+
super(context);
43+
uriOriginalImage = uri;
44+
initView(context);
45+
}
46+
47+
public RxDialogChooseImage(Fragment fragment, Uri uri) {
48+
super(fragment.getContext());
49+
uriOriginalImage = uri;
50+
initView(fragment);
51+
}
52+
3753
public RxDialogChooseImage(Activity context, int themeResId) {
3854
super(context, themeResId);
3955
initView(context);
@@ -91,23 +107,17 @@ public RxDialogChooseImage(Fragment fragment, float alpha, int gravity, LayoutTy
91107
initView(fragment);
92108
}
93109

94-
public TextView getFromCameraView() {
95-
return mTvCamera;
96-
}
97-
98-
public TextView getFromFileView() {
99-
return mTvFile;
100-
}
101-
102-
public TextView getCancelView() {
103-
return mTvCancel;
110+
private void initView(final Activity activity) {
111+
init();
112+
setClickEvent(activity);
104113
}
105114

106-
public LayoutType getLayoutType() {
107-
return mLayoutType;
115+
private void initView(final Fragment fragment) {
116+
init();
117+
setClickEvent(fragment);
108118
}
109119

110-
private void initView(final Activity activity) {
120+
private void init() {
111121
View dialogView = null;
112122
switch (mLayoutType) {
113123
case TITLE:
@@ -120,16 +130,35 @@ private void initView(final Activity activity) {
120130
break;
121131
}
122132

123-
133+
tvOriginalImage = dialogView.findViewById(R.id.tv_original_image);
124134
mTvCamera = dialogView.findViewById(R.id.tv_camera);
125135
mTvFile = dialogView.findViewById(R.id.tv_file);
126-
mTvCancel = dialogView.findViewById(R.id.tv_cancel);
127-
mTvCancel.setOnClickListener(new View.OnClickListener() {
136+
btnCancel = dialogView.findViewById(R.id.btnCancel);
137+
138+
139+
tvOriginalImage.setOnClickListener(new View.OnClickListener() {
140+
@Override
141+
public void onClick(View v) {
142+
if (uriOriginalImage != null) {
143+
RxDialogScaleView rxDialogScaleView = new RxDialogScaleView(mContext, uriOriginalImage);
144+
rxDialogScaleView.show();
145+
}
146+
}
147+
});
148+
149+
btnCancel.setOnClickListener(new View.OnClickListener() {
128150
@Override
129151
public void onClick(View arg0) {
130152
cancel();
131153
}
132154
});
155+
156+
setContentView(dialogView);
157+
mLayoutParams.gravity = Gravity.BOTTOM;
158+
mLayoutParams.width = android.view.ViewGroup.LayoutParams.MATCH_PARENT;
159+
}
160+
161+
private void setClickEvent(Activity activity) {
133162
mTvCamera.setOnClickListener(new View.OnClickListener() {
134163

135164
@Override
@@ -146,33 +175,10 @@ public void onClick(View arg0) {
146175
cancel();
147176
}
148177
});
149-
setContentView(dialogView);
150-
mLayoutParams.gravity = Gravity.BOTTOM;
151-
mLayoutParams.width = android.view.ViewGroup.LayoutParams.MATCH_PARENT;
152178
}
153179

154-
private void initView(final Fragment fragment) {
155-
View dialogView = null;
156-
switch (mLayoutType) {
157-
case TITLE:
158-
dialogView = LayoutInflater.from(getContext()).inflate(R.layout.dialog_picker_pictrue, null);
159-
break;
160-
case NO_TITLE:
161-
dialogView = LayoutInflater.from(getContext()).inflate(R.layout.dialog_camero_show, null);
162-
break;
163-
default:
164-
break;
165-
}
166180

167-
mTvCamera = dialogView.findViewById(R.id.tv_camera);
168-
mTvFile = dialogView.findViewById(R.id.tv_file);
169-
mTvCancel = dialogView.findViewById(R.id.tv_cancel);
170-
mTvCancel.setOnClickListener(new View.OnClickListener() {
171-
@Override
172-
public void onClick(View arg0) {
173-
cancel();
174-
}
175-
});
181+
private void setClickEvent(Fragment fragment) {
176182
mTvCamera.setOnClickListener(new View.OnClickListener() {
177183

178184
@Override
@@ -190,10 +196,38 @@ public void onClick(View arg0) {
190196
cancel();
191197
}
192198
});
199+
}
193200

194-
setContentView(dialogView);
195-
mLayoutParams.gravity = Gravity.BOTTOM;
196-
mLayoutParams.width = android.view.ViewGroup.LayoutParams.MATCH_PARENT;
201+
public TextView getCancelView() {
202+
return btnCancel;
203+
}
204+
205+
public TextView getFromCameraView() {
206+
return mTvCamera;
207+
}
208+
209+
public TextView getFromFileView() {
210+
return mTvFile;
211+
}
212+
213+
public TextView getTvOriginalImage() {
214+
return tvOriginalImage;
215+
}
216+
217+
public LayoutType getLayoutType() {
218+
return mLayoutType;
219+
}
220+
221+
public void setTvOriginalImage(TextView tvOriginalImage) {
222+
this.tvOriginalImage = tvOriginalImage;
223+
}
224+
225+
public Uri getUriOriginalImage() {
226+
return uriOriginalImage;
227+
}
228+
229+
public void setUriOriginalImage(Uri uriOriginalImage) {
230+
this.uriOriginalImage = uriOriginalImage;
197231
}
198232

199233
public enum LayoutType {

RxUI/src/main/java/com/tamsiree/rxui/view/dialog/RxDialogScaleView.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,27 +39,27 @@ public RxDialogScaleView(Activity context) {
3939
}
4040

4141

42-
public RxDialogScaleView(Context context,String filePath,boolean isAssets) {
42+
public RxDialogScaleView(Context context, String filePath, boolean isAssets) {
4343
super(context);
4444
initView();
45-
setImage(filePath,isAssets);
45+
setImage(filePath, isAssets);
4646
}
4747

48-
public RxDialogScaleView(Context context,Uri uri) {
48+
public RxDialogScaleView(Context context, Uri uri) {
4949
super(context);
5050
initView();
5151
setImage(uri);
5252
}
5353

54-
public RxDialogScaleView(Context context,int resId,boolean isResId) {
54+
public RxDialogScaleView(Context context, int resId, boolean isResId) {
5555
super(context);
5656
initView();
5757
if (isResId) {
5858
setImage(resId);
5959
}
6060
}
6161

62-
public RxDialogScaleView(Context context,Bitmap bitmap) {
62+
public RxDialogScaleView(Context context, Bitmap bitmap) {
6363
super(context);
6464
initView();
6565
setImage(bitmap);
@@ -85,11 +85,11 @@ public RxScaleImageView getRxScaleImageView() {
8585
return mRxScaleImageView;
8686
}
8787

88-
public void setImage(String filePath,boolean isAssets) {
88+
public void setImage(String filePath, boolean isAssets) {
8989
if (isAssets) {
9090
this.fileAssetName = fileAssetName;
9191
mRxScaleImageView.setImage(ImageSource.asset(filePath));
92-
}else {
92+
} else {
9393
this.filePath = filePath;
9494
mRxScaleImageView.setImage(ImageSource.uri(filePath));
9595
}
@@ -114,7 +114,7 @@ private void initView() {
114114
View dialogView = LayoutInflater.from(mContext).inflate(R.layout.dialog_scaleview, null);
115115
mRxScaleImageView = dialogView.findViewById(R.id.rx_scale_view);
116116
mRxScaleImageView.setMaxScale(maxScale);
117-
ImageView ivClose = dialogView.findViewById(R.id.iv_close);
117+
ImageView ivClose = dialogView.findViewById(R.id.iv_close);
118118
ivClose.setOnClickListener(new View.OnClickListener() {
119119
@Override
120120
public void onClick(View view) {

0 commit comments

Comments
 (0)