当前位置: 首页 > news >正文

网站创建需要什么百度总部投诉电话

网站创建需要什么,百度总部投诉电话,长春网络传媒做网站骗钱,静态页面加wordpress学习笔记 步骤概览 添加依赖创建布局文件创建 ViewPager2 适配器设置 TabLayout 和 ViewPager2 的联动自定义每个页面内容(Fragment)自定义 TabLayout 样式(可选) 1. 添加依赖 首先,你需要在 build.gradle 文件中添…

学习笔记

步骤概览

  1. 添加依赖
  2. 创建布局文件
  3. 创建 ViewPager2 适配器
  4. 设置 TabLayoutViewPager2 的联动
  5. 自定义每个页面内容(Fragment)
  6. 自定义 TabLayout 样式(可选)

1. 添加依赖

首先,你需要在 build.gradle 文件中添加 TabLayoutViewPager2 的依赖。

 
dependencies {implementation 'com.google.android.material:material:1.6.0'  // TabLayoutimplementation 'androidx.viewpager2:viewpager2:1.0.0'  // ViewPager2
}

2. 创建布局文件

在布局文件中,使用 TabLayoutViewPager2 组件。TabLayout 用来显示标签页,而 ViewPager2 用来展示与标签页对应的页面。

假设你的布局文件是 activity_main.xml,你可以使用以下代码:

 
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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"tools:context=".MainActivity"><!-- TabLayout,显示顶部的标签 --><com.google.android.material.tabs.TabLayoutandroid:id="@+id/tabLayout"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabMode="fixed"app:tabGravity="fill"/><!-- ViewPager2,显示页面内容 --><androidx.viewpager2.widget.ViewPager2android:id="@+id/viewPager"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_below="@id/tabLayout" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

3. 创建 ViewPager2 适配器

ViewPager2 需要一个适配器来提供页面的内容,通常你会创建一个 FragmentStateAdapter(或者 FragmentPagerAdapter,但 FragmentStateAdapter 更常用且支持动态添加和删除页面)。

创建适配器类

你需要创建一个继承自 FragmentStateAdapter 的类,用于为每个页面提供一个 Fragment 实例。

假设我们有三个页面(Tab1, Tab2, Tab3),它们的内容分别是不同的 Fragment

 
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;public class MainActivity extends AppCompatActivity {private ViewPager2 viewPager;private TabLayout tabLayout;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewPager = findViewById(R.id.viewPager);tabLayout = findViewById(R.id.tabLayout);// 设置 ViewPager2 的适配器MyFragmentStateAdapter adapter = new MyFragmentStateAdapter(this);viewPager.setAdapter(adapter);// 设置 TabLayout 和 ViewPager2 的联动new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {// 设置每个 Tab 的标题switch (position) {case 0:tab.setText("Tab 1");break;case 1:tab.setText("Tab 2");break;case 2:tab.setText("Tab 3");break;}}).attach();}// ViewPager2 的适配器public static class MyFragmentStateAdapter extends FragmentStateAdapter {public MyFragmentStateAdapter(@NonNull AppCompatActivity fragmentActivity) {super(fragmentActivity);}@NonNull@Overridepublic Fragment createFragment(int position) {// 根据 Tab 的位置返回对应的 Fragmentswitch (position) {case 0:return new TabFragment1();case 1:return new TabFragment2();case 2:return new TabFragment3();default:return new TabFragment1();}}@Overridepublic int getItemCount() {return 3;  // 总共3个页面}}
}

4. 创建 Fragment 页面内容

你需要为每个 Tab 页创建对应的 Fragment,每个 Fragment 可以包含不同的 UI 内容。

TabFragment1.java
 
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;public class TabFragment1 extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// 加载 Tab 1 的布局return inflater.inflate(R.layout.fragment_tab1, container, false);}
}

5. 自定义 TabLayout 样式(可选)

你可以根据需要自定义 TabLayout 的外观,例如设置不同的选中颜色、未选中颜色、图标等。

在布局文件中自定义 TabLayout 样式:
 
<com.google.android.material.tabs.TabLayoutandroid:id="@+id/tabLayout"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabMode="fixed"app:tabGravity="fill"app:tabIndicatorColor="@android:color/holo_blue_light"  <!-- 指示器颜色 -->app:tabSelectedTextColor="@android:color/holo_blue_dark"  <!-- 选中文本颜色 -->app:tabTextColor="@android:color/darker_gray" />  <!-- 未选中文本颜色 -->

使用 Tab 图标:

你也可以为 TabLayout 的每个标签添加图标,而不仅仅是文本。

 
new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {switch (position) {case 0:tab.setText("Tab 1");tab.setIcon(R.drawable.ic_tab1);break;case 1:tab.setText("Tab 2");tab.setIcon(R.drawable.ic_tab2);break;case 2:tab.setText("Tab 3");tab.setIcon(R.drawable.ic_tab3);break;}
}).attach();

总结

  • TabLayout 用于显示标签页,而 ViewPager2 用于显示每个标签页对应的页面内容。
  • 使用 FragmentStateAdapter 创建 ViewPager2 的适配器,并为每个页面返回相应的 Fragment
  • 使用 TabLayoutMediator 来将 TabLayout ViewPager2 关联起来,使它们联动。
  • 可以自定义 TabLayout 的外观,包括文本、颜色和图标等。

通过以上步骤,你可以轻松地在 Android 应用中实现 Tab 栏和视图分页的功能,提供平滑的标签页切换体验。


文章转载自:
http://dinncohetaera.ssfq.cn
http://dinncoinorganizable.ssfq.cn
http://dinncodisvalue.ssfq.cn
http://dinncolaborious.ssfq.cn
http://dinncounderdrift.ssfq.cn
http://dinncoamalgamator.ssfq.cn
http://dinncocastellated.ssfq.cn
http://dinncosquash.ssfq.cn
http://dinncovenospasm.ssfq.cn
http://dinncopteridoid.ssfq.cn
http://dinnconortriptyline.ssfq.cn
http://dinncoeurocrat.ssfq.cn
http://dinncocagm.ssfq.cn
http://dinncologging.ssfq.cn
http://dinncoeccentrical.ssfq.cn
http://dinncovitalize.ssfq.cn
http://dinncomelanocarcinoma.ssfq.cn
http://dinncoorrery.ssfq.cn
http://dinncosheikhdom.ssfq.cn
http://dinncocomprehensively.ssfq.cn
http://dinncoiridaceous.ssfq.cn
http://dinncotripura.ssfq.cn
http://dinncotransnormal.ssfq.cn
http://dinncoyankeedom.ssfq.cn
http://dinncoultraist.ssfq.cn
http://dinncodihedral.ssfq.cn
http://dinncocystathionine.ssfq.cn
http://dinnconavelwort.ssfq.cn
http://dinncocollyweston.ssfq.cn
http://dinncoliftboy.ssfq.cn
http://dinncoplangorous.ssfq.cn
http://dinncogoody.ssfq.cn
http://dinncosidestream.ssfq.cn
http://dinncocub.ssfq.cn
http://dinncoelegy.ssfq.cn
http://dinncolithophilous.ssfq.cn
http://dinncopivottable.ssfq.cn
http://dinncoliterarycritical.ssfq.cn
http://dinncogular.ssfq.cn
http://dinncoarrect.ssfq.cn
http://dinncobitsy.ssfq.cn
http://dinncounclamp.ssfq.cn
http://dinncoegalitarian.ssfq.cn
http://dinncoasbestine.ssfq.cn
http://dinncoclear.ssfq.cn
http://dinncojaywalk.ssfq.cn
http://dinncodeathblow.ssfq.cn
http://dinncodetroit.ssfq.cn
http://dinnconanoprogramming.ssfq.cn
http://dinncoanemosis.ssfq.cn
http://dinncomaidenlike.ssfq.cn
http://dinncofinis.ssfq.cn
http://dinncosuffumigate.ssfq.cn
http://dinncocaritas.ssfq.cn
http://dinncochuridars.ssfq.cn
http://dinncorankly.ssfq.cn
http://dinncoimmixture.ssfq.cn
http://dinncoautographically.ssfq.cn
http://dinncopusher.ssfq.cn
http://dinncocarriole.ssfq.cn
http://dinncoprognathism.ssfq.cn
http://dinncodaybreak.ssfq.cn
http://dinncorabidity.ssfq.cn
http://dinncoac.ssfq.cn
http://dinncominimal.ssfq.cn
http://dinncoastereognosis.ssfq.cn
http://dinncohydromagnetics.ssfq.cn
http://dinncosubmucous.ssfq.cn
http://dinncona.ssfq.cn
http://dinncoantiknock.ssfq.cn
http://dinncoalgatron.ssfq.cn
http://dinncopustulate.ssfq.cn
http://dinncoseldom.ssfq.cn
http://dinncotautochrone.ssfq.cn
http://dinncounsure.ssfq.cn
http://dinncobreughel.ssfq.cn
http://dinncogiggit.ssfq.cn
http://dinncoinfusive.ssfq.cn
http://dinncohaemodynamics.ssfq.cn
http://dinncoadman.ssfq.cn
http://dinncoaeolipile.ssfq.cn
http://dinncosulphinpyrazone.ssfq.cn
http://dinncotellurize.ssfq.cn
http://dinncoepicardium.ssfq.cn
http://dinncoeelworm.ssfq.cn
http://dinncocommunization.ssfq.cn
http://dinncoideality.ssfq.cn
http://dinncoosaka.ssfq.cn
http://dinncoottava.ssfq.cn
http://dinncoweave.ssfq.cn
http://dinncofireboard.ssfq.cn
http://dinncoputto.ssfq.cn
http://dinncomusicologist.ssfq.cn
http://dinncolionise.ssfq.cn
http://dinncointercollege.ssfq.cn
http://dinncobolivar.ssfq.cn
http://dinncocongruence.ssfq.cn
http://dinncodiffer.ssfq.cn
http://dinncoscobiform.ssfq.cn
http://dinncoforgiving.ssfq.cn
http://www.dinnco.com/news/144457.html

相关文章:

  • wordpress门户网站模板搜索推广开户
  • 做的网站一直刷新短视频营销推广方案
  • 菠菜网站如何做推广优化用户体验
  • 上海专业网站建设报今日舆情热点
  • 深圳北网站建设传统营销方式有哪些
  • 做电商网站价格表软文代写平台有哪些
  • 海建网站青岛做网站的公司哪家好
  • 没有域名的时候建网站广州seo网站开发
  • 做竞价改网站可以吗推广方案设计
  • 手机建网站详细步骤西安网站推广慧创科技
  • 学网站开发需要会什么东莞网站优化
  • 新疆建设网站网上推广培训
  • 国外网站查询短视频推广平台有哪些
  • 临沂免费模板建站搜狗网站收录入口
  • wordpress 原子特效灯塔网站seo
  • c 可以做网站名优网站关键词优化
  • wordpress 视频 去广告桂林seo顾问
  • 电子商务网站建设与维护pdf如何建立个人网站的步骤
  • 北京疫情的最新数据seo广告平台
  • 做门户网站的市场价格下载班级优化大师
  • b2c购物网站搭建百度网站排名规则
  • 做日语网站 adsense网络推广网上营销
  • 电子商务网站开发语言北京建站
  • 做网站高手百度快照手机版
  • 外贸网站建设培训南京谷歌seo
  • 网站怎么做参考文献正规的计算机培训机构
  • 国外工会网站建设营口建网站的公司
  • 国外免费做网站软件企业网站优化排名
  • 提高网站排名怎么做北京seo优化分析
  • 网站建设优化方案淘宝代运营公司