Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication
- import android.os.Bundle
- import android.view.View
- import android.widget.EditText
- import android.widget.ImageView
- import androidx.appcompat.app.AppCompatActivity
- import androidx.compose.Composable
- import androidx.compose.Model
- import androidx.ui.core.Size
- import androidx.ui.core.Text
- import androidx.ui.core.dp
- import androidx.ui.core.setContent
- import androidx.ui.graphics.Color
- import androidx.ui.graphics.Image
- import androidx.ui.graphics.ImageConfig
- import androidx.ui.layout.Column
- import androidx.ui.layout.Row
- import androidx.ui.layout.Spacing
- import androidx.ui.layout.WidthSpacer
- import androidx.ui.material.Button
- import androidx.ui.material.ContainedButtonStyle
- import androidx.ui.material.Divider
- import androidx.ui.material.MaterialTheme
- import androidx.ui.material.surface.Surface
- import androidx.ui.text.TextStyle
- import androidx.ui.tooling.preview.Preview
- class MainActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContent {
- MyApp {
- MyScreenContent(list)
- }
- }
- }
- }
- @Composable
- fun MyApp(child: @Composable() () -> Unit){
- MaterialTheme {
- Surface(color = Color.Magenta) {
- child()
- }
- }
- }
- val list = listOf<Item>(Item("item1", "item1 desc"), Item("item2", "item2 desc"), Item("item3", "item3 desc"))
- @Model class Item(var name: String, var description: String)
- @Composable
- fun MyScreenContent(items: List<Item>) {
- Column {
- for (item in items) {
- RenderItem(item = item)
- }
- }
- }
- @Composable
- fun RenderItem(item: Item) {
- Row(modifier = Spacing(8.dp)) {
- Button(text = "Add",
- style = ContainedButtonStyle(color = Color.Cyan, rippleColor = Color.Gray))
- Column(modifier = Spacing(right = 5.dp, left = 5.dp)) {
- Text(text = item.name, style = TextStyle(color = Color.White))
- Text(text = item.description, style = TextStyle(color = Color.Gray))
- Divider(color = Color.Black, height = 10.dp)
- Text(text = item.description, style = TextStyle(color = Color.Gray))
- }
- }
- }
- @Composable
- fun Greeting(name: String) {
- Text(text = "Hello $name!", modifier = Spacing(24.dp))
- }
- @Preview("MyScreen preview")
- @Composable
- fun DefaultPreview() {
- MyApp {
- MyScreenContent(items = list)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement