IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 移动开发——实现微信APP门户界面设计 -> 正文阅读

[移动开发]移动开发——实现微信APP门户界面设计

顶部界面设计

在这里插入图片描述
首先我们要实现的是顶部的标题,在此建立一个top.xml文件,使用水平线性布局,将一个TextView组件放入界面。其次设置组件的属性。

底部界面设计

在这里插入图片描述

底部界面布局

建立一个bottom.xml的文件,使用水平线性布局,拉入4个垂直线性布局的LinearLayout组件,在每个LinearLayout组件中放入一个TextView组件和一个imgView组件,设置各个组件的属性。

图片和文字的颜色切换

将下载好的图片拉进drawable的文件中,添加四个图片颜色切换的Drawable Resource File和一个文字颜色切换的Drawable Resource File。

图片颜色切换代码(以第一个为例):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@drawable/wx2"></item>
    <item android:drawable="@drawable/wx1"></item>
</selector>

文字颜色切换代码

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:color="#07C160"></item>
    <item android:color="@color/black"></item>
</selector>

主体界面设计

在这里插入图片描述
把activity_main.xml文件改为垂直线性布局,拉入一个FrameLayout组件,在其中添加四个FrameLayout组件作为四个界面。

新建四个Fragment类,在其中添加一个TextView组件提示此时的界面,修改各个组件的属性。

界面切换实现

初始化成员参数

private LinearLayout linearWx,linearTxl,linearFx,linearW;
private ImageView imgWx,imgTxl,imgFx,imgW,imgCur;
private TextView textWx,textTxl,textFx,textW,textCur;
private void initFun(){
        linearWx = findViewById(R.id.wx_linear);
        linearWx.setOnClickListener(this);
        linearTxl = findViewById(R.id.txl_linear);
        linearTxl.setOnClickListener(this);
        linearFx = findViewById(R.id.fx_linear);
        linearFx.setOnClickListener(this);
        linearW = findViewById(R.id.w_linear);
        linearW.setOnClickListener(this);

        imgWx = findViewById(R.id.imageView);
        imgTxl = findViewById(R.id.imageView2);
        imgFx = findViewById(R.id.imageView3);
        imgW = findViewById(R.id.imageView4);
        imgCur = findViewById(R.id.imageView);

        textWx = findViewById(R.id.textView);
        textTxl = findViewById(R.id.textView2);
        textFx = findViewById(R.id.textView3);
        textW = findViewById(R.id.textView4);
        textCur = findViewById(R.id.textView);
    }

默认显示微信菜单

private void addFragment(Fragment fragment){
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.add(R.id.body, fragment);
        transaction.commit();
    }

Fragment切换的实现

private void changeFragment(Fragment fragment){
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(R.id.body, fragment);
        transaction.commit();
    }

图片文字颜色切换

	private void colorChange(int id){
        textCur.setSelected(false);
        imgCur.setSelected(false);
        switch (id){
            case 1:
                imgWx.setSelected(true);
                imgCur=imgWx;
                textWx.setSelected(true);
                textCur=textWx;
                break;
            case 2:
                imgTxl.setSelected(true);
                imgCur=imgTxl;
                textTxl.setSelected(true);
                textCur=textTxl;
                break;
            case 3:
                imgFx.setSelected(true);
                imgCur=imgFx;
                textFx.setSelected(true);
                textCur=textFx;
                break;
            case 4:
                imgW.setSelected(true);
                imgCur=imgW;
                textW.setSelected(true);
                textCur=textW;
                break;
            default:
                break;
        }
    }

重写点击事件的监听方法

@Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.wx_linear:
                changeFragment(new BodyWx());
                colorChange(1);
                break;
            case R.id.txl_linear:
                changeFragment(new BodyTxl());
                colorChange(2);
                break;
            case R.id.fx_linear:
                changeFragment(new BodyFx());
                colorChange(3);
                break;
            case R.id.w_linear:
                changeFragment(new BodyW());
                colorChange(4);
                break;
            default:
                break;
        }
    }

重写OnCreate方法

protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
    supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_main);
	initFun();
    addFragment(new BodyWx());
    imgWx.setSelected(true);
    textWx.setSelected(true);
}

APP展示

在这里插入图片描述

源代码

gitee地址

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:23:57  更:2021-10-09 16:24:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:03:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码