真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在Android中使用ViewPager控件實(shí)現(xiàn)卡片翻動(dòng)效果-創(chuàng)新互聯(lián)

怎么在Android中使用ViewPager控件實(shí)現(xiàn)卡片翻動(dòng)效果?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),梨樹(shù)企業(yè)網(wǎng)站建設(shè),梨樹(shù)品牌網(wǎng)站建設(shè),網(wǎng)站定制,梨樹(shù)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,梨樹(shù)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

第一步、創(chuàng)建卡片viewpager適配器的itemview的布局文件:




  

第二步、創(chuàng)建適配器:

class CardAdapter(var context: Context) : PagerAdapter() {
  val horoscopestrImgs = intArrayOf(R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher,
      R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher)

  override fun isViewFromObject(view: View, `object`: Any): Boolean {
    return view === `object`
  }

  override fun getCount(): Int {
    return 12 * 30
  }

  override fun instantiateItem(container: ViewGroup, position: Int): Any {
    val view = LayoutInflater.from(context).inflate(R.layout.home_viewpage_item, null)


    view.home_viewpage_item_img.setImageResource(horoscopestrImgs.get(position%12))

    container.addView(view)
    return view
  }

  override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
    container.removeView(`object` as View)

  }
}

第三步、創(chuàng)建放viewpager控件的布局文件:




  

第四步、創(chuàng)建viewpager滑動(dòng)切換動(dòng)畫(huà)效果:

class CardTransformer(var context: Context) :ViewPager.PageTransformer{
  val TAG = "CardTransformer"
  private val MAX_SCALE = 1.0f
  private val MIN_SCALE = 0.85f//0.85f
  var animator:ObjectAnimator?=null


  override fun transformPage(page: View, position: Float) {
    //設(shè)置了內(nèi)間距  有0.15的偏差
     var pos=position -0.15.toFloat()

    if ( pos <= 1) {
      val scaleFactor = MIN_SCALE + (1 - Math.abs(pos)) * (MAX_SCALE - MIN_SCALE)

      page.scaleX = scaleFactor //縮放效果
      if (pos > 0) {
        page.translationX = -scaleFactor * 2
      } else if (pos < 0 && pos > -1) {
        page.translationX = scaleFactor * 2
      }
      page.scaleY = scaleFactor


    } else {
      page.scaleX = MIN_SCALE
      page.scaleY = MIN_SCALE
    }

  }
}

第五步、開(kāi)始調(diào)用實(shí)現(xiàn)卡片效果的關(guān)鍵代碼:

class MainActivity : Activity() {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main7)


    //設(shè)置ViewPager中兩頁(yè)之間的距離
    // viewpager?.setPageMargin(80)

    //自定義ViewPager的頁(yè)面切換動(dòng)畫(huà)
    viewpager?.setPageTransformer(false, CardTransformer(applicationContext))
    //設(shè)置viewpager預(yù)加載的頁(yè)數(shù)
    viewpager?.offscreenPageLimit = 5
    viewpager?.currentItem = 12 * 15
    viewpager?.setAdapter(CardAdapter(this))
  }


}
Android是什么

Android是一種基于Linux內(nèi)核的自由及開(kāi)放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。

關(guān)于怎么在Android中使用ViewPager控件實(shí)現(xiàn)卡片翻動(dòng)效果問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


網(wǎng)頁(yè)標(biāo)題:怎么在Android中使用ViewPager控件實(shí)現(xiàn)卡片翻動(dòng)效果-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/cepchh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部