java - 如何在 Kotlin 的 viewPager 中添加动画?
问题描述
**这是我的活动寻呼机**
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]
}
}
[![我想给这个过渡添加动画][1]][1]
**以及片段布局中的此页面** [1]:https ://i.stack.imgur.com/qFB3b.png
解决方案
褪色动画,请参见参考这里
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
}
推荐阅读
- javascript - 从输入值创建 html 表
- html - 仅在弹出模式中捕获焦点 IOS VoiceOver
- c# - 使用 Xamarin Forms 在 C# 中将 y 轴设置为英尺英寸
- python-3.x - Seaborn barplot 来自列表而不是数据框
- ownership - 谁是 bitbucket 存储库中代码的合法所有者?
- java - Android中不可见的谷歌地图
- laravel - 控制台生命周期中的 Lumen 自定义中间件
- corda - 节点重启后 Corda RPC 客户端无法重新连接 Corda 节点
- identity - 验证 tx 依赖链时显示 AnonymousParty?
- python - 自动将 CSV 导入 Outlook 日历