11package com.simform.ssjetpackcomposeprogressbutton
22
33import android.os.Bundle
4- import android.widget.Toast
54import androidx.activity.ComponentActivity
65import androidx.activity.compose.setContent
76import androidx.compose.foundation.BorderStroke
@@ -15,14 +14,15 @@ import androidx.compose.foundation.layout.Row
1514import androidx.compose.foundation.layout.Spacer
1615import androidx.compose.foundation.layout.fillMaxHeight
1716import androidx.compose.foundation.layout.fillMaxWidth
17+ import androidx.compose.foundation.layout.height
1818import androidx.compose.foundation.layout.padding
1919import androidx.compose.foundation.layout.size
2020import androidx.compose.foundation.lazy.LazyColumn
21+ import androidx.compose.foundation.shape.RoundedCornerShape
2122import androidx.compose.material.Button
2223import androidx.compose.material.ButtonDefaults
2324import androidx.compose.material.Text
2425import androidx.compose.material.icons.Icons
25- import androidx.compose.material.icons.filled.Done
2626import androidx.compose.material.icons.filled.FavoriteBorder
2727import androidx.compose.material.icons.filled.Home
2828import androidx.compose.material.icons.filled.Person
@@ -37,7 +37,6 @@ import androidx.compose.ui.Modifier
3737import androidx.compose.ui.graphics.Color
3838import androidx.compose.ui.graphics.SolidColor
3939import androidx.compose.ui.graphics.vector.rememberVectorPainter
40- import androidx.compose.ui.platform.LocalContext
4140import androidx.compose.ui.res.colorResource
4241import androidx.compose.ui.res.painterResource
4342import androidx.compose.ui.res.stringResource
@@ -47,13 +46,18 @@ import androidx.compose.ui.text.font.FontWeight
4746import androidx.compose.ui.tooling.preview.Preview
4847import androidx.compose.ui.unit.dp
4948import androidx.compose.ui.unit.sp
49+ import com.simform.ssjetpackcomposeprogressbutton.utils.COMMON_BORDER_WIDTH
50+ import com.simform.ssjetpackcomposeprogressbutton.utils.COMMON_CORNER_RADIUS
5051import com.simform.ssjetpackcomposeprogressbutton.utils.COMMON_HEIGHT
5152import com.simform.ssjetpackcomposeprogressbutton.utils.COMMON_WIDTH
52- import com.simform.ssjetpackcomposeprogressbutton.utils.forty
53- import com.simform.ssjetpackcomposeprogressbutton.utils.oneFloat
54- import com.simform.ssjetpackcomposeprogressbutton.utils.six
55- import com.simform.ssjetpackcomposeprogressbutton.utils.two
56- import com.simform.ssjetpackcomposeprogressbutton.utils.zero
53+ import com.simform.ssjetpackcomposeprogressbutton.utils.FONT_SIZE
54+ import com.simform.ssjetpackcomposeprogressbutton.utils.TOP_BUTTON_HEIGHT
55+ import com.simform.ssjetpackcomposeprogressbutton.utils.TOP_BUTTON_RADIUS
56+ import com.simform.ssjetpackcomposeprogressbutton.utils.FORTY
57+ import com.simform.ssjetpackcomposeprogressbutton.utils.ONE_FLOAT
58+ import com.simform.ssjetpackcomposeprogressbutton.utils.TWELVE
59+ import com.simform.ssjetpackcomposeprogressbutton.utils.TWO
60+ import com.simform.ssjetpackcomposeprogressbutton.utils.ZERO
5761import com.simform.ssjetpackcomposeprogressbuttonlibrary.SSButtonState
5862import com.simform.ssjetpackcomposeprogressbuttonlibrary.SSButtonType
5963import com.simform.ssjetpackcomposeprogressbuttonlibrary.SSCustomLoadingEffect
@@ -86,9 +90,10 @@ fun SSLoadingButtonExample() {
8690 var customEffectButtonState: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
8791
8892 Column () {
93+ Spacer (modifier = Modifier .size((TWELVE * TWO ).dp))
8994 Row (
9095 Modifier
91- .padding(zero .dp, zero .dp, zero .dp, forty .dp)
96+ .padding(ZERO .dp, ZERO .dp, ZERO .dp, FORTY .dp)
9297 .fillMaxWidth(),
9398 horizontalArrangement = Arrangement .SpaceEvenly
9499 ) {
@@ -109,8 +114,9 @@ fun SSLoadingButtonExample() {
109114 customEffectButtonState = SSButtonState .SUCCESS
110115 },
111116 modifier = Modifier
112- .padding(six.dp)
113- .weight(oneFloat),
117+ .padding(TWELVE .dp)
118+ .weight(ONE_FLOAT )
119+ .height(TOP_BUTTON_HEIGHT .dp),shape = RoundedCornerShape (TOP_BUTTON_RADIUS .dp),
114120 elevation = ButtonDefaults .elevation(),
115121 colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.light_blue))
116122 ) {
@@ -133,8 +139,9 @@ fun SSLoadingButtonExample() {
133139 customZoomButtonState = SSButtonState .FAILIURE
134140 },
135141 modifier = Modifier
136- .padding(six.dp)
137- .weight(1f ),
142+ .padding(TWELVE .dp)
143+ .weight(1f )
144+ .height(TOP_BUTTON_HEIGHT .dp),shape = RoundedCornerShape (TOP_BUTTON_RADIUS .dp),
138145 elevation = ButtonDefaults .elevation(),
139146 colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.light_blue))
140147 ) {
@@ -157,77 +164,83 @@ fun SSLoadingButtonExample() {
157164 // Various example of SSLoadingButton
158165 item {
159166 SSJetPackComposeProgressButton (
160- assetColor = Color . Red ,
167+ assetColor = colorResource(id = R .color.pink) ,
161168 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
162- buttonBorderStroke = BorderStroke (two .dp, SolidColor (Color . Red )),
169+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, SolidColor (colorResource(id = R .color.pink) )),
163170 type = SSButtonType .CIRCLE ,
164171 onClick = { roundedProgressState2 = SSButtonState .LOADING },
165172 buttonState = roundedProgressState2,
166173 width = COMMON_WIDTH .dp,
167174 height = COMMON_HEIGHT .dp,
168- padding = PaddingValues (six.dp),
175+ padding = PaddingValues (TWELVE .dp),
176+ cornerRadius = COMMON_CORNER_RADIUS ,
169177 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
170178 )
171179 SSJetPackComposeProgressButton (
172- assetColor = colorResource(id = R .color.dark_green ),
180+ assetColor = colorResource(id = R .color.pink ),
173181 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
174182 buttonBorderStroke = BorderStroke (
175- two .dp,
176- SolidColor (colorResource(id = R .color.dark_green ))
183+ COMMON_BORDER_WIDTH .dp,
184+ SolidColor (colorResource(id = R .color.pink ))
177185 ),
178186 type = SSButtonType .WHEEL ,
179187 onClick = { wheelState = SSButtonState .LOADING },
180188 buttonState = wheelState,
181189 width = COMMON_WIDTH .dp,
182190 height = COMMON_HEIGHT .dp,
183- padding = PaddingValues (six.dp),
191+ padding = PaddingValues (TWELVE .dp),
192+ cornerRadius = COMMON_CORNER_RADIUS ,
184193 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
185194 )
186195 SSJetPackComposeProgressButton (
187- assetColor = Color . Blue ,
196+ assetColor = colorResource(id = R .color.pink) ,
188197 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
189- buttonBorderStroke = BorderStroke (two .dp, SolidColor (Color . Blue )),
198+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, SolidColor (colorResource(id = R .color.pink) )),
190199 type = SSButtonType .ZOOM_IN_OUT_CIRCLE ,
191200 onClick = { zoomInOutState = SSButtonState .LOADING },
192201 buttonState = zoomInOutState,
193202 width = COMMON_WIDTH .dp,
194203 height = COMMON_HEIGHT .dp,
195- padding = PaddingValues (six.dp),
204+ padding = PaddingValues (TWELVE .dp),
205+ cornerRadius = COMMON_CORNER_RADIUS ,
196206 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
197207 )
198208 SSJetPackComposeProgressButton (
199- assetColor = Color . Red ,
209+ assetColor = colorResource(id = R .color.pink) ,
200210 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
201- buttonBorderStroke = BorderStroke (two .dp, SolidColor (Color . Red )),
211+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, SolidColor (colorResource(id = R .color.pink) )),
202212 type = SSButtonType .CLOCK ,
203213 onClick = { clockState = SSButtonState .LOADING },
204214 buttonState = clockState,
205215 width = COMMON_WIDTH .dp,
206216 height = COMMON_HEIGHT .dp,
207- padding = PaddingValues (six.dp),
217+ padding = PaddingValues (TWELVE .dp),
218+ cornerRadius = COMMON_CORNER_RADIUS ,
208219 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
209220 )
210221 SSJetPackComposeProgressButton (
211- assetColor = Color . Blue ,
222+ assetColor = colorResource(id = R .color.pink) ,
212223 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
213- buttonBorderStroke = BorderStroke (two .dp, SolidColor (Color . Blue )),
224+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, SolidColor (colorResource(id = R .color.pink) )),
214225 type = SSButtonType .SPIRAL ,
215226 onClick = { spiralState = SSButtonState .LOADING },
216227 buttonState = spiralState,
217228 width = COMMON_WIDTH .dp,
218229 height = COMMON_HEIGHT .dp,
219- padding = PaddingValues (six.dp),
230+ padding = PaddingValues (TWELVE .dp),
231+ cornerRadius = COMMON_CORNER_RADIUS ,
220232 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
221233 )
222234 SSJetPackComposeProgressButton (
223235 assetColor = Color .White ,
224- colors = ButtonDefaults .buttonColors(backgroundColor = Color . Red ),
236+ colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.pink) ),
225237 type = SSButtonType .CIRCLE ,
226238 onClick = { roundedProgressState = SSButtonState .LOADING },
227239 buttonState = roundedProgressState,
228240 width = COMMON_WIDTH .dp,
229241 height = COMMON_HEIGHT .dp,
230- padding = PaddingValues (six.dp),
242+ padding = PaddingValues (TWELVE .dp),
243+ cornerRadius = COMMON_CORNER_RADIUS ,
231244 leftImagePainter = rememberVectorPainter(image = Icons .Default .Person )
232245 )
233246 SSJetPackComposeProgressButton (
@@ -239,27 +252,26 @@ fun SSLoadingButtonExample() {
239252 height = COMMON_HEIGHT .dp,
240253 blinkingIcon = true ,
241254 leftImagePainter = rememberVectorPainter(image = Icons .Default .FavoriteBorder ),
242- padding = PaddingValues (six.dp),
243- hourHandColor = Color .Red
255+ padding = PaddingValues (TWELVE .dp),
256+ cornerRadius = COMMON_CORNER_RADIUS ,
257+ colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.pink)),
258+ hourHandColor = colorResource(id = R .color.handColor)
244259 )
245260 SSJetPackComposeProgressButton (
246261 assetColor = Color .White ,
247- colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.yellow)),
248- buttonBorderStroke = BorderStroke (
249- two.dp,
250- SolidColor (colorResource(id = R .color.yellow))
251- ),
262+ colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.pink)),
252263 type = SSButtonType .ZOOM_IN_OUT_CIRCLE ,
253264 onClick = { ssTextButtonState = SSButtonState .LOADING },
254265 buttonState = ssTextButtonState,
255266 width = COMMON_WIDTH .dp,
256267 height = COMMON_HEIGHT .dp,
257- padding = PaddingValues (six .dp),
258- text = stringResource(id = R .string.with_text ),
268+ padding = PaddingValues (TWELVE .dp),
269+ text = stringResource(id = R .string.stylish_text ),
259270 fontStyle = FontStyle .Italic ,
260- fontSize = 16 .sp,
271+ fontSize = FONT_SIZE .sp,
261272 fontFamily = FontFamily .Monospace ,
262- textModifier = Modifier .padding(six.dp),
273+ cornerRadius = COMMON_CORNER_RADIUS ,
274+ textModifier = Modifier .padding(TWELVE .dp),
263275 )
264276 SSJetPackComposeProgressButton (
265277 assetColor = Color .White ,
@@ -271,10 +283,12 @@ fun SSLoadingButtonExample() {
271283 leftImagePainter = rememberVectorPainter(image = Icons .Default .Star ),
272284 text = stringResource(id = R .string.left_icon),
273285 fontFamily = FontFamily .SansSerif ,
274- textModifier = Modifier .padding(six.dp),
286+ textModifier = Modifier .padding(TWELVE .dp),
287+ fontSize = FONT_SIZE .sp,
275288 blinkingIcon = true ,
276- padding = PaddingValues (six.dp),
277- colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.light_blue))
289+ padding = PaddingValues (TWELVE .dp),
290+ cornerRadius = COMMON_CORNER_RADIUS ,
291+ colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.pink))
278292 )
279293 SSJetPackComposeProgressButton (
280294 assetColor = Color .White ,
@@ -286,10 +300,13 @@ fun SSLoadingButtonExample() {
286300 rightImagePainter = rememberVectorPainter(image = Icons .Default .Star ),
287301 text = stringResource(id = R .string.right_icon),
288302 fontFamily = FontFamily .Serif ,
289- textModifier = Modifier .padding(six.dp),
290- padding = PaddingValues (six.dp),
291- colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.teal_700))
303+ textModifier = Modifier .padding(TWELVE .dp),
304+ fontSize = FONT_SIZE .sp,
305+ padding = PaddingValues (TWELVE .dp),
306+ cornerRadius = COMMON_CORNER_RADIUS ,
307+ colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.pink))
292308 )
309+ Spacer (modifier = Modifier .size(COMMON_HEIGHT .dp))
293310 SSJetPackComposeProgressButton (
294311 type = SSButtonType .CUSTOM ,
295312 width = COMMON_WIDTH .dp,
@@ -305,12 +322,14 @@ fun SSLoadingButtonExample() {
305322 colorChanger = false
306323 ),
307324 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
308- padding = PaddingValues (six.dp),
325+ padding = PaddingValues (TWELVE .dp),
326+ cornerRadius = COMMON_CORNER_RADIUS ,
309327 text = stringResource(id = R .string.simform),
310328 textModifier = Modifier .padding(ten.dp),
311329 fontWeight = FontWeight .Bold ,
330+ fontSize = FONT_SIZE .sp,
312331 leftImagePainter = painterResource(id = R .drawable.simform_logo),
313- buttonBorderStroke = BorderStroke (two .dp, colorResource(id = R .color.pink))
332+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, colorResource(id = R .color.pink))
314333 )
315334 SSJetPackComposeProgressButton (
316335 type = SSButtonType .CUSTOM ,
@@ -327,12 +346,14 @@ fun SSLoadingButtonExample() {
327346 colorChanger = false
328347 ),
329348 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
330- padding = PaddingValues (six.dp),
349+ padding = PaddingValues (TWELVE .dp),
350+ cornerRadius = COMMON_CORNER_RADIUS ,
331351 text = stringResource(id = R .string.simform),
332352 textModifier = Modifier .padding(ten.dp),
333353 fontWeight = FontWeight .Bold ,
354+ fontSize = FONT_SIZE .sp,
334355 leftImagePainter = painterResource(id = R .drawable.simform_logo),
335- buttonBorderStroke = BorderStroke (two .dp, colorResource(id = R .color.pink))
356+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, colorResource(id = R .color.pink))
336357 )
337358 SSJetPackComposeProgressButton (
338359 type = SSButtonType .CUSTOM ,
@@ -350,11 +371,13 @@ fun SSLoadingButtonExample() {
350371 ),
351372 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
352373 padding = PaddingValues (ten.dp),
374+ cornerRadius = COMMON_CORNER_RADIUS ,
353375 text = stringResource(id = R .string.simform),
354376 textModifier = Modifier .padding(ten.dp),
355377 fontWeight = FontWeight .Bold ,
378+ fontSize = FONT_SIZE .sp,
356379 leftImagePainter = painterResource(id = R .drawable.simform_logo),
357- buttonBorderStroke = BorderStroke (two .dp, colorResource(id = R .color.pink))
380+ buttonBorderStroke = BorderStroke (COMMON_BORDER_WIDTH .dp, colorResource(id = R .color.pink))
358381 )
359382 Spacer (modifier = Modifier .size(COMMON_WIDTH .dp))
360383 Spacer (modifier = Modifier .size(COMMON_WIDTH .dp))
0 commit comments