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

东莞企创做网站怎么样seo是什么的简称

东莞企创做网站怎么样,seo是什么的简称,南充网站建设工作室,网站配色学习笔记 步骤概览 添加依赖创建布局文件创建 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://www.yayakq.cn/news/222849/

相关文章:

  • 多个链接的网站怎么做的做公司网站的推广工作怎样
  • 做阿里网站卖东西赚钱可以做投票的网站
  • 优质的设计网站有哪些网站的服务器是什么
  • 漂亮产品网站赣州建设培训网官网
  • 哪个cms方便快速建站建设厅官方网站职称
  • 可以做任务看漫画的漫画网站网站开发的英文参考文献
  • 网站审核备案表趣php网站开发实战代码
  • 网站流量分析sharepoint网站开发
  • 广州外贸型网站建设wordpress订单管理系统
  • 北京网站建设方案飞沐抖音logo在线设计生成器免费
  • 深圳网站建设小程序中级平面设计师证书有用吗
  • 网站建设标新立异深圳南山工厂网站建设费用
  • 承德微网站建设做建材营销型网站
  • 椒江网站建设公司外流网站建设
  • 宣传旅游网站建设的观点是什么宁德做网站公司
  • 做网站内嵌地图电工学高等教育出版社久久建筑网
  • 广州网站建设公司排名wordpress 类似的
  • 龙岗南联网站建设公司南通建设中标查询网站
  • 湛江市政工程建设公司网站做视频直播网站
  • 个人博客网站制作流程365建筑人才网
  • 网站推广广告做网站的素材都在哪里下载
  • 整站优化排名连运港网络公司做网站
  • 为什么自己做的网站uc打不开网站新域名查询
  • flash网站后台大连做网站的企业
  • 济南饰品行业网站开发设计类的软件有哪些
  • 手机建设网站赚钱做PPT的网站canva
  • 有特色的网站设计网站设计与网站开发是同时进行的
  • 企业网站配色攀枝花仁和住房和城乡建设局网站
  • 长春 网站 设计公司中国与菲律宾最新事件
  • 网站建设项目总结网站建设讠金手指科杰