@@ -7,14 +7,26 @@ import androidx.compose.foundation.BorderStroke
77import androidx.compose.foundation.gestures.Orientation
88import androidx.compose.foundation.gestures.ScrollableState
99import androidx.compose.foundation.gestures.scrollable
10- import androidx.compose.foundation.layout.*
10+ import androidx.compose.foundation.layout.Arrangement
11+ import androidx.compose.foundation.layout.PaddingValues
12+ import androidx.compose.foundation.layout.Row
13+ import androidx.compose.foundation.layout.fillMaxHeight
14+ import androidx.compose.foundation.layout.fillMaxWidth
15+ import androidx.compose.foundation.layout.padding
1116import androidx.compose.foundation.lazy.LazyColumn
1217import androidx.compose.material.Button
1318import androidx.compose.material.ButtonDefaults
1419import androidx.compose.material.Text
1520import androidx.compose.material.icons.Icons
16- import androidx.compose.material.icons.filled.*
17- import androidx.compose.runtime.*
21+ import androidx.compose.material.icons.filled.FavoriteBorder
22+ import androidx.compose.material.icons.filled.Home
23+ import androidx.compose.material.icons.filled.Person
24+ import androidx.compose.material.icons.filled.Star
25+ import androidx.compose.runtime.Composable
26+ import androidx.compose.runtime.mutableStateOf
27+ import androidx.compose.runtime.remember
28+ import androidx.compose.runtime.getValue
29+ import androidx.compose.runtime.setValue
1830import androidx.compose.ui.Alignment
1931import androidx.compose.ui.Modifier
2032import androidx.compose.ui.graphics.Color
@@ -27,22 +39,28 @@ import androidx.compose.ui.text.font.FontStyle
2739import androidx.compose.ui.tooling.preview.Preview
2840import androidx.compose.ui.unit.dp
2941import androidx.compose.ui.unit.sp
30- import com.simform.ssloadingbuttonandroid.ssbutton.SSButtonState
31- import com.simform.ssloadingbuttonandroid.ssbutton.SSButtonType
32- import com.simform.ssloadingbuttonandroid.ssbutton.SSLoadingButton.ssLoadingButton
33- import com.simform.ssloadingbuttonandroid.utils.*
42+ import com.simform.ssloadingbuttonandroid.utils.COMMON_HEIGHT
43+ import com.simform.ssloadingbuttonandroid.utils.COMMON_WIDTH
44+ import com.simform.ssloadingbuttonandroid.utils.forty
45+ import com.simform.ssloadingbuttonandroid.utils.oneFloat
46+ import com.simform.ssloadingbuttonandroid.utils.six
47+ import com.simform.ssloadingbuttonandroid.utils.two
48+ import com.simform.ssloadingbuttonandroid.utils.zero
49+ import com.simform.ssloadingbuttonlibrary.SSButtonState
50+ import com.simform.ssloadingbuttonlibrary.SSButtonType
51+ import com.simform.ssloadingbuttonlibrary.SSLoadingButton
3452
3553class MainActivity : ComponentActivity () {
3654 override fun onCreate (savedInstanceState : Bundle ? ) {
3755 super .onCreate(savedInstanceState)
3856 setContent {
39- Greeting ()
57+ SSLoadingButtonExample ()
4058 }
4159 }
4260}
4361
4462@Composable
45- fun Greeting () {
63+ fun SSLoadingButtonExample () {
4664 var roundedProgressState: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
4765 var wheelState: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
4866 var zoomInOutState: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
@@ -53,6 +71,7 @@ fun Greeting() {
5371 var textWithRightButton: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
5472 var textWithIconState: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
5573 var blinkingIcon: SSButtonState by remember { mutableStateOf(SSButtonState .IDLE ) }
74+
5675 LazyColumn (
5776 modifier = Modifier
5877 .fillMaxWidth()
@@ -64,10 +83,11 @@ fun Greeting() {
6483 ),
6584 horizontalAlignment = Alignment .CenterHorizontally
6685 ) {
86+ // Two button at top for fire success and failure
6787 item {
6888 Row (
6989 Modifier
70- .padding(zero.dp, zero.dp, zero.dp, fourty .dp)
90+ .padding(zero.dp, zero.dp, zero.dp, forty .dp)
7191 .fillMaxWidth(),
7292 horizontalArrangement = Arrangement .SpaceEvenly
7393 ) {
@@ -113,18 +133,19 @@ fun Greeting() {
113133 }
114134 }
115135 }
136+ // Various example of SSLoadingButton
116137 item {
117- ssLoadingButton (
138+ SSLoadingButton (
118139 assetColor = Color .Red ,
119140 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
120141 buttonBorderStroke = BorderStroke (two.dp, SolidColor (Color .Red )),
121- type = SSButtonType .ROUNDED_PROGRESS ,
142+ type = SSButtonType .CIRCLE ,
122143 onClick = { roundedProgressState2 = SSButtonState .LOADING },
123144 buttonState = roundedProgressState2,
124145 width = COMMON_WIDTH .dp, height = COMMON_HEIGHT .dp, padding = PaddingValues (six.dp),
125146 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
126147 )
127- ssLoadingButton (
148+ SSLoadingButton (
128149 assetColor = colorResource(id = R .color.dark_green),
129150 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
130151 buttonBorderStroke = BorderStroke (
@@ -137,18 +158,18 @@ fun Greeting() {
137158 width = COMMON_WIDTH .dp, height = COMMON_HEIGHT .dp, padding = PaddingValues (six.dp),
138159 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
139160 )
140- ssLoadingButton (
161+ SSLoadingButton (
141162 assetColor = Color .Blue ,
142163 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
143164 buttonBorderStroke = BorderStroke (two.dp, SolidColor (Color .Blue )),
144- type = SSButtonType .ZOOM_IN_OUT_PROGRESS ,
165+ type = SSButtonType .ZOOM_IN_OUT_CIRCLE ,
145166 onClick = { zoomInOutState = SSButtonState .LOADING },
146167 buttonState = zoomInOutState,
147168 width = COMMON_WIDTH .dp, height = COMMON_HEIGHT .dp, padding = PaddingValues (six.dp),
148169 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
149170 )
150- ssLoadingButton (
151- Color .Red ,
171+ SSLoadingButton (
172+ assetColor = Color .Red ,
152173 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
153174 buttonBorderStroke = BorderStroke (two.dp, SolidColor (Color .Red )),
154175 type = SSButtonType .CLOCK ,
@@ -157,7 +178,7 @@ fun Greeting() {
157178 width = COMMON_WIDTH .dp, height = COMMON_HEIGHT .dp, padding = PaddingValues (six.dp),
158179 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
159180 )
160- ssLoadingButton (
181+ SSLoadingButton (
161182 assetColor = Color .Blue ,
162183 colors = ButtonDefaults .buttonColors(backgroundColor = Color .White ),
163184 buttonBorderStroke = BorderStroke (two.dp, SolidColor (Color .Blue )),
@@ -167,16 +188,16 @@ fun Greeting() {
167188 width = COMMON_WIDTH .dp, height = COMMON_HEIGHT .dp, padding = PaddingValues (six.dp),
168189 leftImagePainter = rememberVectorPainter(image = Icons .Default .Home )
169190 )
170- ssLoadingButton (
191+ SSLoadingButton (
171192 assetColor = Color .White ,
172193 colors = ButtonDefaults .buttonColors(backgroundColor = Color .Red ),
173- type = SSButtonType .ROUNDED_PROGRESS ,
194+ type = SSButtonType .CIRCLE ,
174195 onClick = { roundedProgressState = SSButtonState .LOADING },
175196 buttonState = roundedProgressState,
176197 width = COMMON_WIDTH .dp, height = COMMON_HEIGHT .dp, padding = PaddingValues (six.dp),
177198 leftImagePainter = rememberVectorPainter(image = Icons .Default .Person )
178199 )
179- ssLoadingButton (
200+ SSLoadingButton (
180201 assetColor = Color .Yellow ,
181202 type = SSButtonType .CLOCK ,
182203 onClick = { blinkingIcon = SSButtonState .LOADING },
@@ -188,14 +209,14 @@ fun Greeting() {
188209 padding = PaddingValues (six.dp),
189210 hourHandColor = Color .Red
190211 )
191- ssLoadingButton (
212+ SSLoadingButton (
192213 assetColor = Color .White ,
193214 colors = ButtonDefaults .buttonColors(backgroundColor = colorResource(id = R .color.yellow)),
194215 buttonBorderStroke = BorderStroke (
195216 two.dp,
196217 SolidColor (colorResource(id = R .color.yellow))
197218 ),
198- type = SSButtonType .ZOOM_IN_OUT_PROGRESS ,
219+ type = SSButtonType .ZOOM_IN_OUT_CIRCLE ,
199220 onClick = { ssTextButtonState = SSButtonState .LOADING },
200221 buttonState = ssTextButtonState,
201222 width = COMMON_WIDTH .dp,
@@ -207,7 +228,7 @@ fun Greeting() {
207228 fontFamily = FontFamily .Monospace ,
208229 textModifier = Modifier .padding(six.dp),
209230 )
210- ssLoadingButton (
231+ SSLoadingButton (
211232 assetColor = Color .White ,
212233 type = SSButtonType .WHEEL ,
213234 onClick = { textWithIconState = SSButtonState .LOADING },
@@ -221,7 +242,7 @@ fun Greeting() {
221242 blinkingIcon = true ,
222243 padding = PaddingValues (six.dp)
223244 )
224- ssLoadingButton (
245+ SSLoadingButton (
225246 assetColor = Color .White ,
226247 type = SSButtonType .SPIRAL ,
227248 onClick = { textWithRightButton = SSButtonState .LOADING },
@@ -242,5 +263,5 @@ fun Greeting() {
242263@Preview(showBackground = true )
243264@Composable
244265fun DefaultPreview () {
245- Greeting ()
266+ SSLoadingButtonExample ()
246267}
0 commit comments