English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Basé sur TabLayout dans Android+Implementation de l'effet de l'onglet ViewPager

代码已经上传至Github:https://github.com/YanYoJun/ViewPagerDemo

先看效果

1、布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  tools:context="com.plbear.yyj.myapplication.MainActivity">
  <android.support.design.widget.TabLayout
    android:id="@"+id/tab"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    app:tabGravity="fill"
    app:tabIndicatorColor="#4978ef"
    app:tabIndicatorHeight="2dp"
    app:tabMode="scrollable"
    app:tabSelectedTextColor="#4978ef"
    app:tabTextColor="#222222></android.support.design.widget.TabLayout>
  <android.support.v4.view.ViewPager
    android:id="@"+id/view_pager"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"></android.support.v4.view.ViewPager>
</LinearLayout>

2、代码实现

package com.plbear.yyj.myapplication
import android.os.Bundle
import android.support.design.widget.Snackbar
import android.support.design.widget.TabLayout
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentPagerAdapter
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
import kotlinx.android.synthetic.layout.activity_main.*
class MainActivity : AppCompatActivity() {
  var mFragList = ArrayList<Fragment>()
  var adapter = object:FragmentPagerAdapter(supportFragmentManager){
    override fun getItem(position: Int): Fragment {
      return mFragList[position]
    }
    override fun getCount(): Int {
      return 2
    }
  }
  override fun onCreate(savedInstanceState: Bundle63;) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    initViewPager() //Ajoutez d'abord les différents fragments au viewpager
    initTabLayout(); //Initialiser tablayout
  }
  fun initTabLayout(){
    tab.setupWithViewPager(view_pager)
    tab.setTabsFromPagerAdapter(adapter)
    tab.tabMode = TabLayout.MODE_FIXED
    tab.getTabAt(0)? setText("Page une")
    tab.getTabAt(1)? setText("Page deux")
  }
  fun initViewPager(){
    mFragList.add(Fragment1())
    mFragList.add(Fragment2())
    view_pager.adapter = adapter
  }
}

Voici quelques points à noter, il faut d'abord lier setupWithViewPager et tablayout, puis initialiser les onglets de la tab, c'est très important, sinon cela peut entraîner le texte invisible dans tablayout.

Résumé

Ce que j'ai décrit ci-dessus est ce que j'ai présenté aux amis en ce qui concerne Android basé sur TabLayout+L'implémentation de ViewPager pour l'effet de carte de marque, j'espère que cela peut aider à tous, si vous avez des questions, laissez-moi un message, je répondrai à temps. Je remercie également vivement le soutien du site Web de tutoriel d'urtout !

Déclaration : le contenu de cet article est issu du réseau, les droits d'auteur appartiennent aux auteurs, le contenu est自发贡献 par les utilisateurs d'Internet et téléchargé eux-mêmes. Le site Web ne détient pas de droits de propriété, n'a pas été édité par l'homme et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu suspect de violation de droit d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (au moment de l'envoi d'un e-mail, veuillez remplacer # par @ pour signaler une violation de droit d'auteur et fournir des preuves pertinentes. Une fois vérifié, le site supprimera immédiatement le contenu suspect de violation de droit d'auteur.)

Vous pourriez aussi aimer