用Fragment实现Android微信样式Tab切换

本文介绍了如何使用Fragment实现类似微信的Tab切换效果。通过创建不同的Fragment界面,并使用FragmentTransaction进行管理,点击底部按钮时切换对应的Fragment并处理按钮高亮。详细代码已上传至码云仓库。
摘要由CSDN通过智能技术生成

代码于2020年3月16日上传至码云仓库(https://gitee.com/passenger98/Weixin),
文档是补写的🤗🤗🤗

项目要求

  • 使用fragment实现模仿微信式点击底部Button进行Tab切换效果
  • 点击Button时有相应的按钮高亮处理

实现思路

  • 为每个activity设计相应的fragment界面
  • 实现逻辑代码,点击按钮呈现相应界面

演示效果(视频)

Android模仿微信tab切换(blibli)

主要界面

在这里插入图片描述

项目结构

项目结构

技术介绍

Fragment可视为Activity的一部分,所以Fragment的生命周期会受Activity的影响。Fragment往往嵌入到Activity中,然后执行Fragment事务进行对Fragment的操作。

Fragment是一个事务栈,可以将多个操作放在一起执行,再进行提交。

在使用Fragment之前,需要先熟悉几个类,包括FragmentActivity、FragmentManager、FragmentTranscation。

FragmentActivity:内部可以容纳多个Fragment
FragmentManager:Fragment的管理
FragmentTranscation:执行Fragment的增加(add)、替换(replace)、解除(detach)、显示(show)和隐藏(hide)

(注:部分Fragment方法与AndroidX不兼容,需使用为了保证兼容性,建议使用android-support-v4包中的Fragment类)

主要代码呈现

MainActivity -监听底部Button点击,转而进行相应隐藏和选中处理

package com.example.weixin;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageButton;
import android.widget.LinearLayout;

public class MainActivity extends FragmentActivity implements OnClickListener
{
   
    private LinearLayout mTabWeixin;
    private LinearLayout mTabFrd;
    private LinearLayout mTabAddress;
    private LinearLayout mTabSettings;

    private ImageButton mImgWeixin;
    private ImageButton mImgFrd;
    private ImageButton mImgAddress;
    private ImageButton mImgSettings;

    private Fragment mTab01;
    private Fragment mTab02;
    private Fragment mTab03;
    private Fragment mTab04;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
   
        super.onCreate(savedInstanceState
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值