相关疑难解决方法(0)

Android Jetpack Compose TV 焦点恢复

我在 TvLazyColumn 中有 TvLazyRows。当我导航到所有列表的末尾(位置 [20,20])导航到下一个屏幕并返回时,焦点将恢复到第一个可见位置 [15,1],而不是我之前所在的位置 [20,20] ]。如何将焦点恢复到某个特定位置?

在此输入图像描述

class MainActivity : ComponentActivity() {

    private val rowItems = (0..20).toList()
    private val rows = (0..20).toList()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            val navController = rememberNavController()
            MyAppNavHost(navController = navController)
        }
    }

    @Composable
    fun List(navController: NavController) {
        val fr = remember {
            FocusRequester()
        }
        TvLazyColumn( modifier = Modifier
            .focusRequester(fr)
            .fillMaxSize()
            ,
            verticalArrangement = Arrangement.spacedBy(16.dp),
            pivotOffsets = PivotOffsets(parentFraction = 0.05f),
        ) {
            items(rows.size) { rowPos ->
                Column() {
                    Text(text = "Row $rowPos")
                    TvLazyRow( …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-tv android-jetpack-compose android-jetpack-compose-tv

5
推荐指数
1
解决办法
1846
查看次数