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

期末作业制作网站网站页面优化

期末作业制作网站,网站页面优化,seo概念的理解,西安公司注册核名目录 1. 添加依赖2. 布局文件3. 创建 Fragment4. 创建适配器5. 在 MainActivity 中设置 TabLayout 和 ViewPager2 1. 添加依赖 在 build.gradle 文件中添加以下依赖: implementation androidx.viewpager2:viewpager2:1.1.0-beta01 implementation com.google.andr…

目录

    • 1. 添加依赖
    • 2. 布局文件
    • 3. 创建 Fragment
    • 4. 创建适配器
    • 5. 在 MainActivity 中设置 TabLayout 和 ViewPager2

1. 添加依赖

在 build.gradle 文件中添加以下依赖:

implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
implementation 'com.google.android.material:material:1.6.1'

2. 布局文件

在 res/layout/activity_main.xml 中创建主界面布局:

<?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"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><com.google.android.material.tabs.TabLayoutandroid:id="@+id/tabLayout"android:layout_width="match_parent"android:layout_height="wrap_content"app:tabGravity="fill"app:tabMode="fixed" /><androidx.viewpager2.widget.ViewPager2android:id="@+id/viewPager2"android:layout_width="match_parent"android:layout_height="match_parent" />
</LinearLayout>

3. 创建 Fragment

创建多个 Fragment 用于展示不同的页面内容,以 HomeFragment 为例:

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;public class HomeFragment extends Fragment {private boolean isLoaded = false;@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {return inflater.inflate(R.layout.fragment_home, container, false);}@Overridepublic void onResume() {super.onResume();if (!isLoaded && isVisible()) {loadData();isLoaded = true;}}private void loadData() {// 这里进行数据加载操作,例如网络请求等}
}

对应的 fragment_home.xml 布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="vertical"><TextViewandroid:text="Home Page"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp" />
</LinearLayout>

4. 创建适配器

创建一个继承自 FragmentStateAdapter 的适配器类:

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;import java.util.ArrayList;
import java.util.List;public class MyFragmentStateAdapter extends FragmentStateAdapter {private final List<Fragment> fragmentList = new ArrayList<>();public MyFragmentStateAdapter(@NonNull FragmentActivity fragmentActivity) {super(fragmentActivity);}public void addFragment(Fragment fragment) {fragmentList.add(fragment);}@NonNull@Overridepublic Fragment createFragment(int position) {return fragmentList.get(position);}@Overridepublic int getItemCount() {return fragmentList.size();}
}

5. 在 MainActivity 中设置 TabLayout 和 ViewPager2

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import android.os.Bundle;
import android.graphics.drawable.Drawable;
import androidx.core.content.ContextCompat;public class MainActivity extends AppCompatActivity {private TabLayout tabLayout;private ViewPager2 viewPager2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tabLayout = findViewById(R.id.tabLayout);viewPager2 = findViewById(R.id.viewPager2);MyFragmentStateAdapter adapter = new MyFragmentStateAdapter(this);adapter.addFragment(new HomeFragment());adapter.addFragment(new DiscoverFragment());adapter.addFragment(new ProfileFragment());viewPager2.setAdapter(adapter);new TabLayoutMediator(tabLayout, viewPager2, (tab, position) -> {switch (position) {case 0:tab.setText("Home");Drawable homeIcon = ContextCompat.getDrawable(this, R.drawable.ic_home);tab.setIcon(homeIcon);break;case 1:tab.setText("Discover");Drawable discoverIcon = ContextCompat.getDrawable(this, R.drawable.ic_discover);tab.setIcon(discoverIcon);break;case 2:tab.setText("Profile");Drawable profileIcon = ContextCompat.getDrawable(this, R.drawable.ic_profile);tab.setIcon(profileIcon);break;}}).attach();}
}

运行该应用后,你会看到一个带有图片和文字的 TabLayout,同时可以通过点击 Tab 或者左右滑动屏幕来切换不同的页面,并且每个 Fragment 会在第一次可见时进行数据加载,实现了懒加载的功能。

http://www.yayakq.cn/news/772026/

相关文章:

  • 如何建设游戏平台网站wordpress音乐播放器挂件
  • 上杭网站设计学习电子商务网站建设与管理的收获
  • 模板网站怎么建设网站建设项目分期
  • 企业网站硬件建设方案前端角度实现网站首页加载慢优化
  • 网站图片移动怎么做的安全的网站制作公司
  • 视频网站外链怎么做企业网站建设公司价格
  • 外贸网站设计公司价格建筑工程职业学院官网
  • 建 导航网站好中原区快速建站公司电话
  • 怎么建设自己个人网站北京建设局投诉网站
  • 克拉玛依市区建设局网站asp网站安装
  • 淄博网站电子商城平台建设wordpress 分享到微信
  • wordpress建站教程百科提供网站建设公司有哪些
  • 淮安做网站网站建设管理策划书
  • 好看网站的浏览器自己建设个人网站要花费多少
  • 怎样建设一个自己的网站微商做的比较唯美的网站
  • 网站源码分享网网站推广有哪些常用的方法
  • php网站开发源代码图纸之家
  • 韩国的电商网站昆明行业网站建设
  • 网站建设那家公司好wordpress 04
  • 网站开发用哪些字体免费建立国外网站
  • 网站模板和后台顶尖文案网站
  • 教育政务网站建设山东省建设局注册中心网站
  • wordpress优秀网站保定关键词优化平台
  • 如何做免费域名网站wordpress下载证书后
  • 相亲网站怎么做的企业网站推广的方式
  • 360网站建设凡客诚品鞋子质量怎么样
  • 东大桥网站建设仿站网站建设
  • 游戏网站上图片动态怎么做的wordpress自动格式化代码
  • 服装公司 网站怎么做汕头网站排名优化
  • 网站建设资讯站外贸淘宝网站建设