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

TabLayout을 기반으로 Android+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: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    initViewPager(); //각각의 fragment를 viewPager에 추가하십시오
    initTabLayout(); //tablayout 초기화
  }
  fun initTabLayout(){
    tab.setupWithViewPager(view_pager)
    tab.setTabsFromPagerAdapter(adapter)
    tab.tabMode = TabLayout.MODE_FIXED
    tab.getTabAt(0)? setText("first page")
    tab.getTabAt(1)? setText("second page")
  }
  fun initViewPager(){
    mFragList.add(Fragment1())
    mFragList.add(Fragment2())
    view_pager.adapter = adapter
  }
}

이를 주의해야 할 점은 setupWithViewPager와 tablayout을 먼저 연결한 후, 탭의 태그 페이지를 초기화하는 것이 매우 중요합니다. 그렇지 않으면 tablayout에서 텍스트가 표시되지 않을 수 있습니다.

정리

위에서 소개한 것은 편집자가 여러분에게 소개한 Android에서 TabLayout을 기반으로 한 것입니다.+ViewPager를 통해 탭 카드 효과를 구현하여 많은 도움이 되기를 바랍니다. 어떤 질문이나 의문이 있으면, 제게 댓글을 남겨 주시기 바랍니다. 편집자는 시간이 남으면 즉시 답변을 드리겠습니다. 또한, 얕러쉬 강의 사이트에 대한 많은 지지에 감사드립니다!

선언: 이 문서의 내용은 인터넷에서 가져왔으며, 저작권은 원작자에게 있으며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 이 사이트는 소유권을 가지지 않으며, 인공 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 위반 내용이 있음을 발견하면, 이메일을 notice#w로 보내 주시기 바랍니다.3codebox.com에 이메일을 보내면 (#을 @으로 변경하십시오) 신고를 하고 관련 증거를 제공하십시오. 일단 확인되면, 이 사이트는 즉시 저작권 위반 내용을 삭제합니다.

추천 합니다