25
25
package com .github .piasy .biv .example ;
26
26
27
27
import android .Manifest ;
28
+ import android .app .Dialog ;
28
29
import android .net .Uri ;
29
30
import android .os .Bundle ;
30
- import android .text .TextUtils ;
31
31
import android .view .View ;
32
+ import android .view .WindowManager ;
33
+ import android .widget .TextView ;
32
34
import android .widget .Toast ;
35
+
33
36
import androidx .appcompat .app .AppCompatActivity ;
34
- import com . afollestad . materialdialogs . MaterialDialog ;
37
+
35
38
import com .github .piasy .biv .BigImageViewer ;
36
39
import com .github .piasy .biv .indicator .progresspie .ProgressPieIndicator ;
37
40
import com .github .piasy .biv .loader .fresco .FrescoImageLoader ;
@@ -52,6 +55,8 @@ public class LongImageActivity extends AppCompatActivity {
52
55
private Disposable mPermissionRequest ;
53
56
private Disposable mQrCodeDecode ;
54
57
58
+ private Dialog dialog ;
59
+
55
60
@ Override
56
61
protected void onCreate (Bundle savedInstanceState ) {
57
62
super .onCreate (savedInstanceState );
@@ -68,24 +73,36 @@ public void onClick(View v) {
68
73
}
69
74
});
70
75
76
+ dialog = new Dialog (this );
77
+ dialog .setTitle (R .string .long_click_actions );
78
+ dialog .setContentView (R .layout .dialog_long_image );
79
+
80
+ final WindowManager .LayoutParams lp = new WindowManager .LayoutParams ();
81
+ lp .copyFrom (dialog .getWindow ().getAttributes ());
82
+ lp .width = WindowManager .LayoutParams .MATCH_PARENT ;
83
+ dialog .getWindow ().setAttributes (lp );
84
+
85
+ final TextView textScan = dialog .findViewById (R .id .action_scan_qr );
86
+ final TextView textSave = dialog .findViewById (R .id .action_save_image );
87
+
88
+ textScan .setOnClickListener (new View .OnClickListener () {
89
+ @ Override
90
+ public void onClick (View v ) {
91
+ decodeQrCode ();
92
+ }
93
+ });
94
+
95
+ textSave .setOnClickListener (new View .OnClickListener () {
96
+ @ Override
97
+ public void onClick (View v ) {
98
+ saveImage ();
99
+ }
100
+ });
101
+
71
102
mBigImageView .setOnLongClickListener (new View .OnLongClickListener () {
72
103
@ Override
73
104
public boolean onLongClick (View v ) {
74
- new MaterialDialog .Builder (LongImageActivity .this )
75
- .items (R .array .big_image_ops )
76
- .itemsCallback (new MaterialDialog .ListCallback () {
77
- @ Override
78
- public void onSelection (MaterialDialog dialog , View itemView ,
79
- int position , CharSequence text ) {
80
- if (TextUtils .equals (text , getString (R .string .save_image ))) {
81
- saveImage ();
82
- } else if (TextUtils .equals (text ,
83
- getString (R .string .scan_qr_code ))) {
84
- decodeQrCode ();
85
- }
86
- }
87
- })
88
- .show ();
105
+ dialog .show ();
89
106
return true ;
90
107
}
91
108
});
@@ -112,8 +129,7 @@ public void onFail(Throwable t) {
112
129
findViewById (R .id .mBtnLoad ).setOnClickListener (new View .OnClickListener () {
113
130
@ Override
114
131
public void onClick (View v ) {
115
- mBigImageView .showImage (Uri .parse (
116
- "http://ww1.sinaimg.cn/mw690/005Fj2RDgw1f9mvl4pivvj30c82ougw3.jpg" ));
132
+ mBigImageView .showImage (Uri .parse ("https://ww1.sinaimg.cn/mw690/005Fj2RDgw1f9mvl4pivvj30c82ougw3.jpg" ));
117
133
}
118
134
});
119
135
}
@@ -125,6 +141,10 @@ protected void onDestroy() {
125
141
disposePermissionRequest ();
126
142
disposeQrCodeDecode ();
127
143
144
+ if (dialog .isShowing ()) {
145
+ dialog .dismiss ();
146
+ }
147
+
128
148
BigImageViewer .imageLoader ().cancelAll ();
129
149
}
130
150
0 commit comments