MainActivity.kt
package com.cfsuman.jetpackcompose
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.gestures.detectTapGestures
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.*
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MainContent()
}
}
@Composable
fun MainContent(){
Column(
Modifier
.background(Color(0xFFEDEAE0))
.fillMaxSize()
.padding(32.dp),
verticalArrangement = Arrangement.spacedBy(24.dp)
) {
var counter by remember { mutableStateOf(0) }
Card(
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight(align = Alignment.CenterVertically)
.clickable {
counter++
},
elevation = 4.dp,
shape = RoundedCornerShape(8.dp),
backgroundColor = Color(0xFF568203)
) {
Text(
text = "Counter : $counter",
modifier = Modifier.padding(35.dp),
textAlign = TextAlign.Center,
fontSize = 35.sp,
fontWeight = FontWeight.Bold
)
}
Card(
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight(align = Alignment.CenterVertically)
.pointerInput(Unit) {
detectTapGestures(
onTap = {
counter--
}
)
},
elevation = 4.dp,
shape = RoundedCornerShape(8.dp),
backgroundColor = Color(0xFFD3212D)
) {
Text(
text = "Counter : $counter",
modifier = Modifier.padding(35.dp),
textAlign = TextAlign.Center,
fontSize = 35.sp,
fontWeight = FontWeight.Bold
)
}
}
}
@Preview
@Composable
fun ComposablePreview(){
//MainContent()
}
}
- jetpack compose - How to use Text
- jetpack compose - Double tap listener
- jetpack compose - Column vertical scrolling
- jetpack compose - Dragging
- jetpack compose - Weight modifier
- jetpack compose - Outlined Button
- jetpack compose - Button rounded corners
- jetpack compose - Button elevation
- jetpack compose - TextField hint
- jetpack compose - TextField size
- jetpack compose - TextField focus change listener
- jetpack compose - TextField IME action done
- jetpack compose - LazyColumn items indexed
- jetpack compose - LazyColumn add remove item
- jetpack compose - LazyColumn selectable