簡體   English   中英

如何將 animation 添加到 Kotlin 中的 viewPager?

[英]How to add animation to the viewPager in Kotlin?

**這是我的活動尋呼機**

private const val TAG = "CarpagerActivity"
var carList: ArrayList<Car>? = null
var mSerializer : JsonSerializer? = null
class CarPagerActivity : AppCompatActivity(){
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_car_pager)

    mSerializer = JsonSerializer("CarTrinkApp.json",
        applicationContext)

    try {
        carList = mSerializer!!.load()
    } catch (e: Exception) {
        carList = ArrayList()
        Log.e("Error loading cars: ", "", e)
    }

    // create list of fragments, one fragment for each car
    var carFragmentList = java.util.ArrayList<Fragment>()
    for (car in carList!!) {
        carFragmentList.add(ShowCarFragment.newInstance(car))
    }


    val pageAdapter = CarPagerAdapter(supportFragmentManager, carFragmentList)
    findViewById<ViewPager>(R.id.pager_cars).adapter = pageAdapter
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    val myPost = data?.getIntExtra("adapterPosition", 123)
    println(myPost)
    println("adadadada")
}
class CarPagerAdapter(fm: FragmentManager, private val carFragmentList: ArrayList<Fragment>) : FragmentPagerAdapter(fm, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
    override fun getCount() = carFragmentList.size
    override fun getItem(position: Int) = carFragmentList[position]

}

}

[![我想將 animation 添加到此轉換][1]][1]

**以及片段布局中的此頁面** [1]: https://i.stack.imgur.com/qFB3b.png

褪色 animation,請參閱此處的參考

viewPager.setPageTransformer(false) { page, position ->
        // do transformation here
        page.alpha = 0f
        page.visibility = View.VISIBLE

        // Start Animation for a short period of time
        page.animate()
            .alpha(1f).duration =
            page.resources.getInteger(android.R.integer.config_longAnimTime)
                .toLong()

    }

或者

viewPager.setPageTransformer(false) { page, position ->
        // do transformation here
        page.rotationY = position * -70

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM