Здесь есть соответствующий код:
package com.example.habitflow.ui.screen
import android.util.Log
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Add
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material3.*
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.layout.ContentScale
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.example.habitflow.R
import com.example.habitflow.domain.model.Habit
import com.example.habitflow.ui.theme.Black
import com.example.habitflow.ui.theme.Pink80
import com.example.habitflow.ui.theme.Poppins
import com.example.habitflow.ui.theme.TealLight
import com.example.habitflow.ui.theme.Typography
import com.example.habitflow.ui.theme.White
import com.example.habitflow.ui.viewmodel.HabitViewModel
import com.example.habitflow.ui.viewmodel.AnalyticsViewModel
@Composable
fun MainScreen(
onAddHabitClick: () -> Unit,
onSettingsClick: () -> Unit,
onEditHabitClick: (Habit) -> Unit,
viewModel: HabitViewModel = hiltViewModel(),
analyticsViewModel: AnalyticsViewModel = hiltViewModel()
) {
// ... (MainScreen code as provided) ...
}
@Composable
fun AnalyticsBox(icon: Int, number: Int, label: String) {
Log.d("AnalyticsBox", "Number: $number, Label: $label")
Column(
modifier = Modifier
.background(TealLight, RoundedCornerShape(8.dp))
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
Icon(painter = painterResource(id = icon), contentDescription = label)
Text(text = if (number == 0) "0" else number.toString())
Text(text = label)
}
}
@Composable
fun HabitListItem(habit: Habit, onEditHabitClick: (Habit) -> Unit, viewModel: HabitViewModel) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 8.dp)
.background(TealLight, RoundedCornerShape(8.dp))
.padding(16.dp),
horizontalArrangement = Arrangement.SpaceBetween,
verticalAlignment = Alignment.CenterVertically
) {
Column {
Text(text = habit.name) // Text disappears when styled
Text(text = habit.description) // Text disappears when styled
Text(text = "@ ${habit.reminderDateTime}") // Text disappears when styled
}
Button(onClick = { viewModel.completeHabit(habit) }) {
Text("Complete")
}
}
}
Подробная информация о проблеме:
[*] Когда я применяю typography.bodymed.copy (color = black) или пользовательский текстовый стиль к тексту composables в Analyticsbox и привычка , текстовый текст разочаровывает текст. /> Текст отображается правильно без какого -либо стиля.
[*] Текст цитаты в основном экране рендерирует с одной и той же типографикой .
[*] Я пробовал различный текстовый стиль , но возникает проблема. Текст:
Код: Выделить всё
Text(
text = habit.name,
style = TextStyle(
fontWeight = FontWeight.Medium,
fontSize = 15.sp,
lineHeight = 17.sp,
letterSpacing = 0.5.sp
)
)
Я ожидаю текста в Analyticsbox и DabiveListem для рендеринга с помощью прикладных стилей, аналогично тому, как текст цитаты
исчезнуть, когда я применяю стиль в Analyticsbox и DabiveListItem ?
Есть ли конкретное ограничение или проблема с тем, как сочинять стилирование в этих компонентах? Упрощение типографии и проверено на проблемы с загрузкой шрифтов, но проблема сохраняется. Любое понимание или решения будут высоко оценены.
Подробнее здесь: https://stackoverflow.com/questions/795 ... sappers-fr