Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.composeapplication.ui
- import android.os.Bundle
- import android.util.Log
- import androidx.activity.ComponentActivity
- import androidx.activity.compose.setContent
- import androidx.compose.foundation.Image
- import androidx.compose.foundation.layout.*
- import androidx.compose.foundation.lazy.LazyColumn
- import androidx.compose.foundation.lazy.items
- import androidx.compose.foundation.shape.CircleShape
- import androidx.compose.material.Text
- import androidx.compose.runtime.Composable
- import androidx.compose.ui.Modifier
- import androidx.compose.ui.draw.clip
- import androidx.compose.ui.res.painterResource
- import androidx.compose.ui.unit.dp
- import com.example.composeapplication.R
- import com.example.composeapplication.data.SensorView
- import com.example.composeapplication.data.UnitView
- import com.example.composeapplication.ui.theme.ComposeApplicationTheme
- import com.example.composeapplication.viewmodel.MainViewModel
- import org.koin.androidx.viewmodel.ext.android.viewModel
- class MainActivity : ComponentActivity() {
- private val viewModel by viewModel<MainViewModel>()
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- viewModel.sensorInfoListLiveData.observe(this) { list ->
- Log.d("blabla", "list -> $list")
- }
- viewModel.sensorInfoListLiveData.observe(this) { list ->
- setContent {
- ComposeApplicationTheme {
- SensorDataList(list)
- }
- }
- }
- }
- }
- @Composable
- fun SensorDataList(sensorData: List<UnitView>) {
- LazyColumn {
- items(sensorData) { sensor ->
- SensorCard(sensor)
- }
- }
- }
- @Composable
- fun SensorCard(sensor: UnitView) {
- // Add padding around our message
- Row(modifier = Modifier.padding(all = 8.dp)) {
- Image(
- painter = painterResource(R.drawable.ic_baseline_air_24),
- contentDescription = "Contact profile picture",
- modifier = Modifier
- // Set image size to 40 dp
- .size(40.dp)
- // Clip image to be shaped as a circle
- .clip(CircleShape)
- )
- // Add a horizontal space between the image and the column
- Spacer(modifier = Modifier.width(8.dp))
- Column {
- Text(text = sensor.name)
- // Add a vertical space between the author and message texts
- Spacer(modifier = Modifier.height(4.dp))
- Text(text = (sensor as SensorView).name)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement