English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
代码已经上传至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("الصفحة الأولى") tab.getTabAt(1)?.setText("الصفحة الثانية") } fun initViewPager(){ mFragList.add(Fragment1()) mFragList.add(Fragment2()) view_pager.adapter = adapter } }
يجب الانتباه إلى بعض النقاط، يجب先将 setupWithViewPager و tablayout مرتبطان معًا، ثم يتم تحديد بطاقات التبويب، وهو أمر مهم للغاية، وإلا قد لا تظهر النصوص في tablayout.
الخاتمة
ما تم ذكره أعلاه هو ما قدمه المحرر لكم حول كيفية تحقيق تأثير بطاقات التبويب في Android بناءً على TabLayout + ViewPager، آمل أن يكون مفيدًا لكم، إذا كان لديكم أي أسئلة، فلا تترددوا في ترك تعليق، وسأقوم بالرد على أسئلتكم في أقرب وقت. وأشكركم أيضًا على دعمكم لموقع呐喊 لتعليم البرمجة!
البيان: محتوى هذا المقال تم جمعه من الإنترنت، ويتمتع ملكية حقوق الطبع والنشر للمالك الأصلي، ويتم جمع المحتوى من قبل المستخدمين عبر الإنترنت بشكل تلقائي، ويتم تحميله على هذا الموقع دون امتلاك حقوق الملكية، ولا يتم تعديل المحتوى بشكل يدوي، ولا يتحمل هذا الموقع أي مسؤولية قانونية متعلقة بذلك. إذا كنت قد وجدت محتوى يشتبه في حقوق الطبع والنشر، فنرجو منك إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال #بـ @) للإبلاغ، وقدم الدليل على الدليل، وسيتم حذف المحتوى المزعوم فور التحقق منه.