7
7
8
8
import com .blankj .androidutilcode .R ;
9
9
import com .blankj .utilcode .util .SnackbarUtils ;
10
+ import com .blankj .utilcode .util .SpannableStringUtils ;
10
11
import com .blankj .utilcode .util .ToastUtils ;
11
12
12
13
/**
20
21
public class SnackbarActivity extends Activity
21
22
implements View .OnClickListener {
22
23
24
+ private View snackBarRootView ;
25
+ private final int TYPE_SHORT = 0x00 ;
26
+ private final int TYPE_SHORT_WITH_ACTION = 0x01 ;
27
+ private final int TYPE_LONG = 0x10 ;
28
+ private final int TYPE_LONG_WITH_ACTION = 0x11 ;
29
+ private final int TYPE_INDEFINITE = 0x20 ;
30
+ private final int TYPE_INDEFINITE_WITH_ACTION = 0x21 ;
31
+ private final int TYPE_CUSTOM = 0x40 ;
32
+ private final int TYPE_CUSTOM_WITH_ACTION = 0x41 ;
33
+
23
34
@ Override
24
35
protected void onCreate (Bundle savedInstanceState ) {
25
36
super .onCreate (savedInstanceState );
26
37
setContentView (R .layout .activity_snackbar );
27
38
39
+ snackBarRootView = findViewById (android .R .id .content );
28
40
findViewById (R .id .btn_short_snackbar ).setOnClickListener (this );
29
41
findViewById (R .id .btn_short_snackbar_with_action ).setOnClickListener (this );
30
42
findViewById (R .id .btn_long_snackbar ).setOnClickListener (this );
@@ -38,62 +50,109 @@ protected void onCreate(Bundle savedInstanceState) {
38
50
39
51
@ Override
40
52
public void onClick (View view ) {
41
- final View snackBarRootView = findViewById (android .R .id .content );
42
-
43
53
switch (view .getId ()) {
44
54
case R .id .btn_short_snackbar :
45
- SnackbarUtils . showShortSnackbar ( snackBarRootView , "short snackbar" , Color . YELLOW , Color . BLUE );
55
+ showSnackbar ( TYPE_SHORT );
46
56
break ;
47
57
case R .id .btn_short_snackbar_with_action :
48
- SnackbarUtils .showShortSnackbar (snackBarRootView , "short snackbar" , Color .YELLOW , Color .BLUE ,
49
- "Short" , Color .YELLOW , new View .OnClickListener () {
58
+ showSnackbar (TYPE_SHORT_WITH_ACTION );
59
+ break ;
60
+ case R .id .btn_long_snackbar :
61
+ showSnackbar (TYPE_LONG );
62
+ break ;
63
+ case R .id .btn_long_snackbar_with_action :
64
+ showSnackbar (TYPE_SHORT_WITH_ACTION );
65
+ break ;
66
+ case R .id .btn_indefinite_snackbar :
67
+ showSnackbar (TYPE_INDEFINITE );
68
+ break ;
69
+ case R .id .btn_indefinite_snackbar_with_action :
70
+ showSnackbar (TYPE_INDEFINITE_WITH_ACTION );
71
+ break ;
72
+ case R .id .btn_add_view :
73
+ showSnackbar (TYPE_CUSTOM );
74
+ break ;
75
+ case R .id .btn_add_view_with_action :
76
+ showSnackbar (TYPE_CUSTOM_WITH_ACTION );
77
+ break ;
78
+ case R .id .btn_cancel_snackbar :
79
+ SnackbarUtils .dismiss ();
80
+ break ;
81
+ }
82
+ }
83
+
84
+ private void showSnackbar (int type ) {
85
+ SpannableStringUtils .Builder builder = new SpannableStringUtils .Builder ()
86
+ .append ("" ).setResourceId (R .drawable .ic_logo )
87
+ .append ("" ).setMargin (24 );
88
+ switch (type ) {
89
+ case TYPE_SHORT :
90
+ SnackbarUtils .showShort (snackBarRootView ,
91
+ builder .append (getString (R .string .snackbar_short )).create (),
92
+ Color .BLUE ,
93
+ Color .LTGRAY );
94
+ break ;
95
+ case TYPE_SHORT_WITH_ACTION :
96
+ SnackbarUtils .showShort (snackBarRootView , builder .append (getString (R .string .snackbar_short )).create (), Color .BLUE , Color .LTGRAY ,
97
+ "Short" , Color .DKGRAY , new View .OnClickListener () {
50
98
@ Override
51
99
public void onClick (View v ) {
52
- ToastUtils .showShortToast ( "Click Short" );
100
+ ToastUtils .showShort ( getString ( R . string . snackbar_click ) );
53
101
}
54
102
});
55
103
break ;
56
- case R .id .btn_long_snackbar :
57
- SnackbarUtils .showLongSnackbar (snackBarRootView , "long snackbar" , Color .YELLOW , Color .GREEN );
104
+ case TYPE_LONG :
105
+ SnackbarUtils .showShort (snackBarRootView ,
106
+ builder .append (getString (R .string .snackbar_long )).create (),
107
+ Color .BLUE ,
108
+ Color .LTGRAY );
58
109
break ;
59
- case R . id . btn_long_snackbar_with_action :
60
- SnackbarUtils .showLongSnackbar (snackBarRootView , "long snackbar" , Color .YELLOW , Color .GREEN ,
61
- "Long " , Color .YELLOW , new View .OnClickListener () {
110
+ case TYPE_LONG_WITH_ACTION :
111
+ SnackbarUtils .showShort (snackBarRootView , builder . append ( getString ( R . string . snackbar_long )). create () , Color .BLUE , Color .LTGRAY ,
112
+ "Short " , Color .DKGRAY , new View .OnClickListener () {
62
113
@ Override
63
114
public void onClick (View v ) {
64
- ToastUtils .showLongToast ( "Click Long" );
115
+ ToastUtils .showShort ( getString ( R . string . snackbar_click ) );
65
116
}
66
117
});
67
118
break ;
68
- case R .id .btn_indefinite_snackbar :
69
- SnackbarUtils .showIndefiniteSnackbar (snackBarRootView , "Indefinite snackbar" , Color .WHITE , Color .RED );
119
+ case TYPE_INDEFINITE :
120
+ SnackbarUtils .showShort (snackBarRootView ,
121
+ builder .append (getString (R .string .snackbar_indefinite )).create (),
122
+ Color .BLUE ,
123
+ Color .LTGRAY );
70
124
break ;
71
- case R . id . btn_indefinite_snackbar_with_action :
72
- SnackbarUtils .showIndefiniteSnackbar (snackBarRootView , "Indefinite snackbar" , Color .WHITE , Color .RED ,
73
- "Indefinite " , Color .YELLOW , new View .OnClickListener () {
125
+ case TYPE_INDEFINITE_WITH_ACTION :
126
+ SnackbarUtils .showShort (snackBarRootView , builder . append ( getString ( R . string . snackbar_indefinite )). create () , Color .BLUE , Color .LTGRAY ,
127
+ "Short " , Color .DKGRAY , new View .OnClickListener () {
74
128
@ Override
75
129
public void onClick (View v ) {
76
- ToastUtils .showShortToast ( "Click Indefinite" );
130
+ ToastUtils .showShort ( getString ( R . string . snackbar_click ) );
77
131
}
78
132
});
79
133
break ;
80
- case R .id .btn_add_view :
81
- SnackbarUtils .showShortSnackbar (snackBarRootView , "short snackbar" , Color .WHITE , Color .BLUE );
134
+ case TYPE_CUSTOM :
135
+ SnackbarUtils .showShort (snackBarRootView ,
136
+ "" ,
137
+ Color .BLUE ,
138
+ Color .LTGRAY );
82
139
SnackbarUtils .addView (R .layout .snackbar_add , 0 );
83
140
break ;
84
- case R .id .btn_add_view_with_action :
85
- SnackbarUtils .showLongSnackbar (snackBarRootView , "short snackbar" , Color .WHITE , Color .BLUE ,
86
- "Short" , Color .YELLOW , new View .OnClickListener () {
141
+ case TYPE_CUSTOM_WITH_ACTION :
142
+ SnackbarUtils .showShort (snackBarRootView ,
143
+ "" ,
144
+ Color .BLUE ,
145
+ Color .LTGRAY ,
146
+ "Short" ,
147
+ Color .DKGRAY , new View .OnClickListener () {
87
148
@ Override
88
149
public void onClick (View v ) {
89
- ToastUtils .showShortToast ( "Click Short" );
150
+ ToastUtils .showShort ( getString ( R . string . snackbar_click ) );
90
151
}
91
152
});
92
153
SnackbarUtils .addView (R .layout .snackbar_add , 0 );
93
154
break ;
94
- case R .id .btn_cancel_snackbar :
95
- SnackbarUtils .dismissSnackbar ();
96
- break ;
155
+
97
156
}
98
157
}
99
158
}
0 commit comments