Android ViewPager中的反向滑动方向
是否有任何可能的方法来更改从左到右滑动碎片? 我的碎片从右向左滑动,但我需要碎片从左向右滑动 寻呼机适配器.ktAndroid ViewPager中的反向滑动方向,android,android-studio,android-fragments,kotlin,android-viewpager,Android,Android Studio,Android Fragments,Kotlin,Android Viewpager,是否有任何可能的方法来更改从左到右滑动碎片? 我的碎片从右向左滑动,但我需要碎片从左向右滑动 寻呼机适配器.kt class pageradapter (fm: FragmentManager) : FragmentStatePagerAdapter(fm){ override fun getItem(position: Int): Fragment { when(position){ 0-> return fragment1() 1-> re
class pageradapter (fm: FragmentManager) : FragmentStatePagerAdapter(fm){
override fun getItem(position: Int): Fragment {
when(position){
0-> return fragment1()
1-> return fragment2()
else-> return fragment3()
}
}
override fun getCount(): Int {
return 3
}
fragment1.kt//2和3的代码相同
class fragment1 : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment1, container, false)
}
Main4Activity.kt
class Main4Activity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main4)
val adapter = pageradapter(supportFragmentManager)
val pager = findViewById<View>(R.id.pager) as ViewPager
pager.adapter = adapter
}
class Main4Activity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main4)
val适配器=pageradapter(supportFragmentManager)
val pager=findViewById(R.id.pager)作为ViewPager
pager.adapter=适配器
}
您应该反转片段
位置,如下所示:
在PagerAdapter.kt中
class pageradapter (fm: FragmentManager) : FragmentStatePagerAdapter(fm){
override fun getItem(position: Int): Fragment {
when(rotatePosition(position)) {
0-> return fragment1()
1-> return fragment2()
else-> return fragment3()
}
}
override fun getCount(): Int {
return 3
}
private fun rotatePosition(position: Int): Int {
return (getCount() - 1) - position
}
}
在Main4活动中:
class Main4Activity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main4)
val adapter = pageradapter(supportFragmentManager)
val pager = findViewById<View>(R.id.pager) as ViewPager
pager.adapter = adapter
// setting new start position
pager.setCurrentItem(adapter.rotatePosition(0), false);
}
class Main4Activity:AppCompatActivity(){
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main4)
val适配器=pageradapter(supportFragmentManager)
val pager=findViewById(R.id.pager)作为ViewPager
pager.adapter=适配器
//设置新的起始位置
pager.setCurrentItem(适配器旋转位置(0),false);
}
您可以使用
或者
如果需要替换片段时的动画,可以在FragmentTransaction