1
- package com .hjq .xtoast .demo ;
2
-
3
- import android .content .Intent ;
4
- import android .os .Bundle ;
5
- import android .support .design .widget .Snackbar ;
6
- import android .support .v7 .app .AppCompatActivity ;
7
- import android .view .Gravity ;
8
- import android .view .View ;
9
- import android .widget .ImageView ;
10
- import android .widget .TextView ;
11
-
12
- import com .hjq .permissions .OnPermission ;
13
- import com .hjq .permissions .Permission ;
14
- import com .hjq .permissions .XXPermissions ;
15
- import com .hjq .toast .ToastUtils ;
16
- import com .hjq .xtoast .OnClickListener ;
17
- import com .hjq .xtoast .OnToastListener ;
18
- import com .hjq .xtoast .XToast ;
19
- import com .hjq .xtoast .draggable .MovingDraggable ;
20
- import com .hjq .xtoast .draggable .SpringDraggable ;
21
-
22
- import java .util .List ;
23
-
24
- /**
25
- * author : Android 轮子哥
26
- * github : https://github.com/getActivity/XToast
27
- * time : 2019/01/04
28
- * desc : XToast 使用案例
29
- */
30
- public class MainActivity extends AppCompatActivity {
31
-
32
- @ Override
33
- protected void onCreate (Bundle savedInstanceState ) {
34
- super .onCreate (savedInstanceState );
35
- setContentView (R .layout .activity_main );
36
- ToastUtils .init (getApplication ());
37
- }
38
-
39
- public void show1 (View v ) {
40
- new XToast (this )
41
- .setDuration (3000 )
42
- .setView (R .layout .toast_hint )
43
- .setAnimStyle (android .R .style .Animation_Translucent )
44
- .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_finish )
45
- .setText (android .R .id .message , "这个动画是不是很骚" )
46
- .show ();
47
- }
48
-
49
- public void show2 (View v ) {
50
- new XToast (this )
51
- .setDuration (1000 )
52
- .setView (R .layout .toast_hint )
53
- .setAnimStyle (android .R .style .Animation_Activity )
54
- .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_error )
55
- .setText (android .R .id .message , "一秒后消失" )
56
- .show ();
57
- }
58
-
59
- public void show3 (View v ) {
60
- new XToast (this )
61
- .setDuration (3000 )
62
- .setView (R .layout .toast_hint )
63
- .setAnimStyle (android .R .style .Animation_Dialog )
64
- .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_warning )
65
- .setText (android .R .id .message , "是不是感觉很牛逼" )
66
- .setOnToastListener (new OnToastListener () {
67
-
68
- @ Override
69
- public void onShow (XToast toast ) {
70
- Snackbar .make (getWindow ().getDecorView (), "XToast 显示了" , Snackbar .LENGTH_SHORT ).show ();
71
- }
72
-
73
- @ Override
74
- public void onDismiss (XToast toast ) {
75
- Snackbar .make (getWindow ().getDecorView (), "XToast 消失了" , Snackbar .LENGTH_SHORT ).show ();
76
- }
77
- })
78
- .show ();
79
- }
80
-
81
- public void show4 (View v ) {
82
- new XToast (this )
83
- .setView (R .layout .toast_hint )
84
- .setAnimStyle (android .R .style .Animation_Translucent )
85
- .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_finish )
86
- .setText (android .R .id .message , "点我点我点我" )
87
- .setOnClickListener (android .R .id .message , new OnClickListener <TextView >() {
88
-
89
- @ Override
90
- public void onClick (final XToast toast , TextView view ) {
91
- view .setText ("那么听话啊" );
92
- getWindow ().getDecorView ().postDelayed (new Runnable () {
93
- @ Override
94
- public void run () {
95
- toast .cancel ();
96
- }
97
- }, 1000 );
98
- }
99
- })
100
- .show ();
101
- }
102
-
103
- public void show5 (View v ) {
104
- new XToast (this )
105
- .setView (R .layout .toast_hint )
106
- .setAnimStyle (android .R .style .Animation_Translucent )
107
- .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_finish )
108
- .setText (android .R .id .message , "点我消失" )
109
- // 设置成可拖拽的
110
- .setDraggable (new MovingDraggable ())
111
- .setOnClickListener (android .R .id .message , new OnClickListener <TextView >() {
112
-
113
- @ Override
114
- public void onClick (XToast toast , TextView view ) {
115
- toast .cancel ();
116
- }
117
- })
118
- .show ();
119
- }
120
-
121
- public void show6 (View v ) {
122
- XXPermissions .with (this )
123
- .permission (Permission .SYSTEM_ALERT_WINDOW )
124
- .request (new OnPermission () {
125
-
126
- @ Override
127
- public void hasPermission (List <String > granted , boolean isAll ) {
128
-
129
- // 传入 Application 表示这个是一个全局的 Toast
130
- new XToast (getApplication ())
131
- .setView (R .layout .toast_phone )
132
- .setGravity (Gravity .END | Gravity .BOTTOM )
133
- .setXOffset (100 )
134
- .setYOffset (100 )
135
- // 设置指定的拖拽规则
136
- .setDraggable (new SpringDraggable ())
137
- .setOnClickListener (android .R .id .icon , new OnClickListener <ImageView >() {
138
-
139
- @ Override
140
- public void onClick (XToast toast , ImageView view ) {
141
- // 点击后跳转到拨打电话界面
142
- Intent intent = new Intent (Intent .ACTION_DIAL );
143
- intent .addFlags (Intent .FLAG_ACTIVITY_NEW_TASK );
144
- toast .startActivity (intent );
145
- }
146
- })
147
- .show ();
148
- }
149
-
150
- @ Override
151
- public void noPermission (List <String > denied , boolean quick ) {
152
- new XToast (MainActivity .this )
153
- .setDuration (1000 )
154
- .setView (R .layout .toast_hint )
155
- .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_error )
156
- .setText (android .R .id .message , "请先授予悬浮窗权限" )
157
- .show ();
158
- }
159
- });
160
- }
161
-
162
- public void show7 (View v ) {
163
- new XToast (MainActivity .this )
164
- .setDuration (1000 )
165
- .setView (ToastUtils .getToast ().getView ())
166
- .setAnimStyle (android .R .style .Animation_Translucent )
167
- .setText (android .R .id .message , "就问你溜不溜" )
168
- .show ();
169
- }
1
+ package com .hjq .xtoast .demo ;
2
+
3
+ import android .content .Intent ;
4
+ import android .os .Bundle ;
5
+ import android .support .design .widget .Snackbar ;
6
+ import android .support .v7 .app .AppCompatActivity ;
7
+ import android .view .Gravity ;
8
+ import android .view .View ;
9
+ import android .widget .ImageView ;
10
+ import android .widget .TextView ;
11
+
12
+ import com .hjq .permissions .OnPermission ;
13
+ import com .hjq .permissions .Permission ;
14
+ import com .hjq .permissions .XXPermissions ;
15
+ import com .hjq .toast .ToastUtils ;
16
+ import com .hjq .xtoast .OnClickListener ;
17
+ import com .hjq .xtoast .OnToastListener ;
18
+ import com .hjq .xtoast .XToast ;
19
+ import com .hjq .xtoast .draggable .MovingDraggable ;
20
+ import com .hjq .xtoast .draggable .SpringDraggable ;
21
+
22
+ import java .util .List ;
23
+
24
+ /**
25
+ * author : Android 轮子哥
26
+ * github : https://github.com/getActivity/XToast
27
+ * time : 2019/01/04
28
+ * desc : XToast 使用案例
29
+ */
30
+ public class MainActivity extends AppCompatActivity {
31
+
32
+ @ Override
33
+ protected void onCreate (Bundle savedInstanceState ) {
34
+ super .onCreate (savedInstanceState );
35
+ setContentView (R .layout .activity_main );
36
+ }
37
+
38
+ public void show1 (View v ) {
39
+ new XToast (this )
40
+ .setDuration (3000 )
41
+ .setView (R .layout .toast_hint )
42
+ .setAnimStyle (android .R .style .Animation_Translucent )
43
+ .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_finish )
44
+ .setText (android .R .id .message , "这个动画是不是很骚" )
45
+ .show ();
46
+ }
47
+
48
+ public void show2 (View v ) {
49
+ new XToast (this )
50
+ .setDuration (1000 )
51
+ .setView (R .layout .toast_hint )
52
+ .setAnimStyle (android .R .style .Animation_Activity )
53
+ .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_error )
54
+ .setText (android .R .id .message , "一秒后消失" )
55
+ .show ();
56
+ }
57
+
58
+ public void show3 (View v ) {
59
+ new XToast (this )
60
+ .setDuration (3000 )
61
+ .setView (R .layout .toast_hint )
62
+ .setAnimStyle (android .R .style .Animation_Dialog )
63
+ .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_warning )
64
+ .setText (android .R .id .message , "是不是感觉很牛逼" )
65
+ .setOnToastListener (new OnToastListener () {
66
+
67
+ @ Override
68
+ public void onShow (XToast toast ) {
69
+ Snackbar .make (getWindow ().getDecorView (), "XToast 显示了" , Snackbar .LENGTH_SHORT ).show ();
70
+ }
71
+
72
+ @ Override
73
+ public void onDismiss (XToast toast ) {
74
+ Snackbar .make (getWindow ().getDecorView (), "XToast 消失了" , Snackbar .LENGTH_SHORT ).show ();
75
+ }
76
+ })
77
+ .show ();
78
+ }
79
+
80
+ public void show4 (View v ) {
81
+ new XToast (this )
82
+ .setView (R .layout .toast_hint )
83
+ .setAnimStyle (android .R .style .Animation_Translucent )
84
+ .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_finish )
85
+ .setText (android .R .id .message , "点我点我点我" )
86
+ .setOnClickListener (android .R .id .message , new OnClickListener <TextView >() {
87
+
88
+ @ Override
89
+ public void onClick (final XToast toast , TextView view ) {
90
+ view .setText ("那么听话啊" );
91
+ getWindow ().getDecorView ().postDelayed (new Runnable () {
92
+ @ Override
93
+ public void run () {
94
+ toast .cancel ();
95
+ }
96
+ }, 1000 );
97
+ }
98
+ })
99
+ .show ();
100
+ }
101
+
102
+ public void show5 (View v ) {
103
+ new XToast (this )
104
+ .setView (R .layout .toast_hint )
105
+ .setAnimStyle (android .R .style .Animation_Translucent )
106
+ .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_finish )
107
+ .setText (android .R .id .message , "点我消失" )
108
+ // 设置成可拖拽的
109
+ .setDraggable (new MovingDraggable ())
110
+ .setOnClickListener (android .R .id .message , new OnClickListener <TextView >() {
111
+
112
+ @ Override
113
+ public void onClick (XToast toast , TextView view ) {
114
+ toast .cancel ();
115
+ }
116
+ })
117
+ .show ();
118
+ }
119
+
120
+ public void show6 (View v ) {
121
+ XXPermissions .with (this )
122
+ .permission (Permission .SYSTEM_ALERT_WINDOW )
123
+ .request (new OnPermission () {
124
+
125
+ @ Override
126
+ public void hasPermission (List <String > granted , boolean isAll ) {
127
+
128
+ // 传入 Application 表示这个是一个全局的 Toast
129
+ new XToast (getApplication ())
130
+ .setView (R .layout .toast_phone )
131
+ .setGravity (Gravity .END | Gravity .BOTTOM )
132
+ .setXOffset (100 )
133
+ .setYOffset (100 )
134
+ // 设置指定的拖拽规则
135
+ .setDraggable (new SpringDraggable ())
136
+ .setOnClickListener (android .R .id .icon , new OnClickListener <ImageView >() {
137
+
138
+ @ Override
139
+ public void onClick (XToast toast , ImageView view ) {
140
+ // 点击后跳转到拨打电话界面
141
+ Intent intent = new Intent (Intent .ACTION_DIAL );
142
+ intent .addFlags (Intent .FLAG_ACTIVITY_NEW_TASK );
143
+ toast .startActivity (intent );
144
+ }
145
+ })
146
+ .show ();
147
+ }
148
+
149
+ @ Override
150
+ public void noPermission (List <String > denied , boolean quick ) {
151
+ new XToast (MainActivity .this )
152
+ .setDuration (1000 )
153
+ .setView (R .layout .toast_hint )
154
+ .setImageDrawable (android .R .id .icon , R .mipmap .ic_dialog_tip_error )
155
+ .setText (android .R .id .message , "请先授予悬浮窗权限" )
156
+ .show ();
157
+ }
158
+ });
159
+ }
160
+
161
+ public void show7 (View v ) {
162
+ // 这里需要先初始化 ToastUtils,实际开发中这句代码应当放在 Application.onCreate 方法中
163
+ ToastUtils .init (getApplication ());
164
+ // 将 ToastUtils 中的 View 转移给 XToast 来显示
165
+ new XToast (MainActivity .this )
166
+ .setDuration (1000 )
167
+ .setView (ToastUtils .getToast ().getView ())
168
+ .setAnimStyle (android .R .style .Animation_Translucent )
169
+ .setText (android .R .id .message , "就问你溜不溜" )
170
+ .show ();
171
+ }
170
172
}
0 commit comments