В настоящее время я работаю над простым приложением в Android Studio из курса, доступного онлайн для Kotlin. Общая идея состоит в том, чтобы сделать изображение в центре, кликабельно и изменить изображение всякий раз, когда будет выполнено определенное количество кликов.
На 1 -м изображении я должен щелкнуть один раз. Чтобы разместить все элементы на экране, и изображение кликабельно. Я вижу, что переменная текущегопозиции увеличивается, но в приложении нет никаких изменений, которое используется в приложении. Я понимаю, что это может быть какой -то новичок, но я нахожусь в начале своего пути в Kotlin и Android Studio. < /P>
может кто -нибудь помочь мне в этом случае? Я буду очень обязан. Весь код размещен ниже: < /p>
package com.example.lemonade
import android.os.Bundle
import android.text.style.BackgroundColorSpan
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.shape.AbsoluteCutCornerShape
import androidx.compose.foundation.shape.AbsoluteRoundedCornerShape
import androidx.compose.material3.Button
import androidx.compose.material3.CenterAlignedTopAppBar
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.modifier.modifierLocalConsumer
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.lemonade.ui.theme.LemonadeTheme
class MainActivity : ComponentActivity() {
@OptIn(ExperimentalMaterial3Api::class)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
LemonadeTheme {
LemonadeWithTextAndImage()
}
}
}
}
@Preview
@Composable
fun LemonadeApp() {
LemonadeWithTextAndImage()
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun LemonadeWithTextAndImage(
modifier: Modifier = Modifier
.fillMaxSize()
.wrapContentSize(Alignment.Center)
.background(color = Color.White)
) {
var currentPosition = 1
var numberOfClicks = (2..4).random()
var beforeLast = 1 + numberOfClicks + 1
var imageSource = when (currentPosition) {
1 -> R.drawable.lemon_tree
numberOfClicks -> R.drawable.lemon_squeeze
beforeLast -> R.drawable.lemon_drink
else -> R.drawable.lemon_restart
}
var totalNumberOfClicks = beforeLast++;
Column(
modifier = modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally
) {
CenterAlignedTopAppBar(
title = {
Text("Lemonade")
},
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = Color.Yellow,
titleContentColor = Color.Black
)
)
Spacer(modifier = Modifier.height(200.dp))
Image(
painter = painterResource(id = imageSource),
contentDescription = imageSource.toString(),
Modifier
.clickable {
println("The current position is $currentPosition")
currentPosition++
painterResource(id = currentPosition)
}
.background(
color = Color(R.color.icons_background),
shape = AbsoluteRoundedCornerShape(10)
)
)
Spacer(modifier = Modifier.height(16.dp))
Text(text = stringResource(id = R.string.tap_the_lemon_tree))
}
}
Подробнее здесь: https://stackoverflow.com/questions/772 ... clicked-on
JetPack Composable - сделайте изменение изображения после нажатия на его ⇐ Android
Форум для тех, кто программирует под Android
1744510800
Anonymous
В настоящее время я работаю над простым приложением в Android Studio из курса, доступного онлайн для Kotlin. Общая идея состоит в том, чтобы сделать изображение в центре, кликабельно и изменить изображение всякий раз, когда будет выполнено определенное количество кликов.
На 1 -м изображении я должен щелкнуть один раз. Чтобы разместить все элементы на экране, и изображение кликабельно. Я вижу, что переменная текущегопозиции увеличивается, но в приложении нет никаких изменений, которое используется в приложении. Я понимаю, что это может быть какой -то новичок, но я нахожусь в начале своего пути в Kotlin и Android Studio. < /P>
может кто -нибудь помочь мне в этом случае? Я буду очень обязан. Весь код размещен ниже: < /p>
package com.example.lemonade
import android.os.Bundle
import android.text.style.BackgroundColorSpan
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.foundation.shape.AbsoluteCutCornerShape
import androidx.compose.foundation.shape.AbsoluteRoundedCornerShape
import androidx.compose.material3.Button
import androidx.compose.material3.CenterAlignedTopAppBar
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.modifier.modifierLocalConsumer
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.lemonade.ui.theme.LemonadeTheme
class MainActivity : ComponentActivity() {
@OptIn(ExperimentalMaterial3Api::class)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
LemonadeTheme {
LemonadeWithTextAndImage()
}
}
}
}
@Preview
@Composable
fun LemonadeApp() {
LemonadeWithTextAndImage()
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun LemonadeWithTextAndImage(
modifier: Modifier = Modifier
.fillMaxSize()
.wrapContentSize(Alignment.Center)
.background(color = Color.White)
) {
var currentPosition = 1
var numberOfClicks = (2..4).random()
var beforeLast = 1 + numberOfClicks + 1
var imageSource = when (currentPosition) {
1 -> R.drawable.lemon_tree
numberOfClicks -> R.drawable.lemon_squeeze
beforeLast -> R.drawable.lemon_drink
else -> R.drawable.lemon_restart
}
var totalNumberOfClicks = beforeLast++;
Column(
modifier = modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally
) {
CenterAlignedTopAppBar(
title = {
Text("Lemonade")
},
colors = TopAppBarDefaults.smallTopAppBarColors(
containerColor = Color.Yellow,
titleContentColor = Color.Black
)
)
Spacer(modifier = Modifier.height(200.dp))
Image(
painter = painterResource(id = imageSource),
contentDescription = imageSource.toString(),
Modifier
.clickable {
println("The current position is $currentPosition")
currentPosition++
painterResource(id = currentPosition)
}
.background(
color = Color(R.color.icons_background),
shape = AbsoluteRoundedCornerShape(10)
)
)
Spacer(modifier = Modifier.height(16.dp))
Text(text = stringResource(id = R.string.tap_the_lemon_tree))
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/77210701/jetpack-composable-make-the-image-change-after-it-has-been-clicked-on[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия