Closed tihhan closed 1 year ago
package com.example.pager
import android.annotation.SuppressLint import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.material.Scaffold import androidx.compose.material.Tab import androidx.compose.material.TabRowDefaults import androidx.compose.material.Text import androidx.compose.material.TopAppBar import androidx.compose.material.MaterialTheme import androidx.compose.material.Surface import androidx.compose.material.TabRow import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.pagerTabIndicatorOffset import com.google.accompanist.pager.rememberPagerState import kotlinx.coroutines.launch import androidx.compose.foundation.pager.PagerState
class MyMainActivity: ComponentActivity(){ @SuppressLint("UnusedMaterialScaffoldPaddingParameter") @OptIn(ExperimentalPagerApi::class, ExperimentalFoundationApi::class) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
setContent { MaterialTheme { Surface( modifier = Modifier.fillMaxWidth(), color = MaterialTheme.colors.background ) { Scaffold(topBar = { TopAppBar(title = { Text("Pager Tabs") }) }) { val scope = rememberCoroutineScope() val pagerState = rememberPagerState() val pages = listOf( "Pending", "Done", "All" ) Column( modifier = Modifier.fillMaxWidth() ) { TabRow( selectedTabIndex = pagerState.currentPage, modifier = Modifier.fillMaxWidth(), indicator = { tabPositions -> TabRowDefaults.Indicator( Modifier.pagerTabIndicatorOffset( pagerState, tabPositions ) ) } ) { pages.forEachIndexed { index, title -> Tab( text = { Text(title) }, selected = pagerState.currentPage == index, onClick = { scope.launch { pagerState.animateScrollToPage(index) } } ) } } HorizontalPager( pageCount = pages.size, modifier = Modifier.fillMaxWidth(), state = pagerState ) { page -> when (page) { 0 -> PendingTasks() 1 -> DoneTasks() 2 -> AllTasks() } } } } } } } }
}
@Composable private fun AllTasks() { Text("All Tasks") }
@Composable private fun DoneTasks() { Text("Completed Tasks") }
@Composable private fun PendingTasks() { Text("Pending Tasks") } code doesnt work, i dont know what i should do
Hello, we can't provide technical support here unfortunately. I would recommend trying to take your question to Stack Overflow. Sorry I can't be of more help.
package com.example.pager
import android.annotation.SuppressLint import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.material.Scaffold import androidx.compose.material.Tab import androidx.compose.material.TabRowDefaults import androidx.compose.material.Text import androidx.compose.material.TopAppBar import androidx.compose.material.MaterialTheme import androidx.compose.material.Surface import androidx.compose.material.TabRow import androidx.compose.runtime.Composable import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Modifier import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.pagerTabIndicatorOffset import com.google.accompanist.pager.rememberPagerState import kotlinx.coroutines.launch import androidx.compose.foundation.pager.PagerState
class MyMainActivity: ComponentActivity(){ @SuppressLint("UnusedMaterialScaffoldPaddingParameter") @OptIn(ExperimentalPagerApi::class, ExperimentalFoundationApi::class) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
}
@Composable private fun AllTasks() { Text("All Tasks") }
@Composable private fun DoneTasks() { Text("Completed Tasks") }
@Composable private fun PendingTasks() { Text("Pending Tasks") } code doesnt work, i dont know what i should do