Android项目页面框架搭建

本文档介绍如何使用ViewPager在Android中快速搭建小型项目的页面框架。通过设置ViewPager进行页面切换,并结合LinearLayout实现底部导航栏,点击切换不同页面。详细代码展示了如何加载布局文件并实现页面滑动监听,以及切换时底部图标的状态更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android项目页面框架搭建

本项目适合小型项目快速搭建,利用ViewPager进行切换页面,同时可以点击进行切换。如下图所示:
代码如下:
https://download.youkuaiyun.com/download/qq_41785191/16659919
首页页面搭建:
在这里插入图片描述
广场页面搭建:
在这里插入图片描述
信息页面搭建:
在这里插入图片描述
首页页面代码: 利用ViewPager进行页面来整体的切换,同时在页面底部设置LinearLayout来进行ViewPage页面切换的追踪,并且设置点击事件来进行切换。

<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:background="@color/font_gray"
    android:layout_alignParentBottom="true">
    <LinearLayout
        android:id="@+id/zhuye"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <ImageView
            android:id="@+id/tu_shou"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/shouye"
            android:layout_gravity="center"/>
        <TextView
            android:id="@+id/zi_ming"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:text="首页"
            android:layout_gravity="center"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/guangchang"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/tu_guang"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/guang"
            android:layout_gravity="center"/>
        <TextView
            android:id="@+id/zi_guang"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:text="广场"
            android:layout_gravity="center"/>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/fenye"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/tu_wo"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/wo"
            android:layout_gravity="center"/>
        <TextView
            android:id="@+id/zi_wo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:text="我的"
            android:layout_gravity="center"/>
    </LinearLayout>
</LinearLayout>

当我们处理完布局之后将进行逻辑页面的处理代码:
ViewPager mViewPager = findViewById(R.id.viewPager); //初始化

为View Page里面添加滑动页面:
private ArrayList PaList = new ArrayList<>(); //数组 存放View 页面的布局文件
LayoutInflater later = LayoutInflater.from(this);
mShou = later.inflate(R.layout.shou_ye, null);
Guang = later.inflate(R.layout.guangchang, null);
My = later.inflate(R.layout.activity_my, null);
PaList.add(mShou);
PaList.add(Guang);
PaList.add(My);
mViewPager.setAdapter(new PageAdapter(PaList));

初始化PageAdapter 的适配器:
public class PageAdapter extends PagerAdapter {
public PageAdapter(List list) {
this.list = list;
}
private List list;
@Override
public int getCount() {
return list == null ? 0 : list.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView(list.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(list.get(position));
return list.get(position);
}
}

利用setOnPageChangeListener方法来实现页面的滑动:
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
switch (i){
case 0:
tu_shou.setImageResource(R.drawable.shouye1);
tu_wo.setImageResource(R.drawable.wo);
tu_guang.setImageResource(R.drawable.guang);
break;
case 1:
tu_shou.setImageResource(R.drawable.shouye);
tu_wo.setImageResource(R.drawable.wo);
tu_guang.setImageResource(R.drawable.guang1);
break;
case 2:
tu_shou.setImageResource(R.drawable.shouye);
tu_wo.setImageResource(R.drawable.wo1);
tu_guang.setImageResource(R.drawable.guang);
break;
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值