プロジェクトのテンプレートが生成したカスタムテーマをandroidx.tv.material3に変更することが推奨されます
Android TVにはtv.material3を見たかぎりdynamicColorは無いようです
またユーザがダークテーマを指定する手段は無いように見えますがとりあえずtv.material3に定義があるので実装しておきます
shapes/typographyはとりあえず初期値を指定しているが必要に応じて実装
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.runtime.Composable
import androidx.tv.material3.ExperimentalTvMaterial3Api
import androidx.tv.material3.MaterialTheme
import androidx.tv.material3.darkColorScheme
import androidx.tv.material3.lightColorScheme
@OptIn(ExperimentalTvMaterial3Api::class)
@Composable
fun TvAppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable () -> Unit,
) {
val colorScheme = if (darkTheme) {
darkColorScheme()
} else {
lightColorScheme()
}
MaterialTheme(
colorScheme = colorScheme,
shapes = MaterialTheme.shapes,
typography = MaterialTheme.typography,
content = content
)
}Android Studio Hedgehog 2023.1.1 RC 3 built on November 3, 2023
