- 一、设计内容
- 二、开发过程
- 界面框架布局
- top.layout控件
- bottom的设计以及功能实现(通过按钮实现界面间的切换)
- MainAtctivity
- 结果展示
- 三、附代码仓库地址
设计一个聊天类APP的界面的框架结构。
要求:有四个界面,且界面之间可以相互切换。
新建两个布局文件分别用于控制top和bottom的布局。
top.layout控件bottom的设计以及功能实现(通过按钮实现界面间的切换)
在此仅展示一组bottom的设计代码,其他类似
MainAtctivity
package com.example.weixinandroid;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private Fragment friendFragment = new friendFragment();
private Fragment findFragment = new findFragment();
private Fragment settingFragment = new settingFragment();
private Fragment weixinFragment = new weixinFragment();
private FragmentManager fragmentManager;
private LinearLayout linearLayout1,linearLayout2,linearLayout3,linearLayout4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
linearLayout1 = findViewById(R.id.Linearlayout_weixin);
linearLayout2 = findViewById(R.id.Linearlayout_friend);
linearLayout3 = findViewById(R.id.Linearlayout_find);
linearLayout4 = findViewById(R.id.Linearlayout_setting);
linearLayout1.setonClickListener(this);
linearLayout2.setonClickListener(this);
linearLayout3.setonClickListener(this);
linearLayout4.setonClickListener(this);
initFragment();
ShowFragment(0);
}
private void initFragment(){
fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.id_content,weixinFragment);
transaction.add(R.id.id_content,findFragment);
transaction.add(R.id.id_content,friendFragment);
transaction.add(R.id.id_content,settingFragment);
transaction.commit();
}
private void hideFragment(FragmentTransaction transaction){
transaction.hide(weixinFragment);
transaction.hide(findFragment);
transaction.hide(friendFragment);
transaction.hide(settingFragment);
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.Linearlayout_weixin:
ShowFragment(0);
break;
case R.id.Linearlayout_friend:
ShowFragment(1);
break;
case R.id.Linearlayout_find:
ShowFragment(2);
break;
case R.id.Linearlayout_setting:
ShowFragment(3);
break;
default:
break;
}
}
private void ShowFragment(int i) {
FragmentTransaction transaction=fragmentManager.beginTransaction();
hideFragment(transaction);
switch (i){
case 0:
transaction.show(weixinFragment);
break;
case 1:
transaction.show(friendFragment);
break;
case 2:
transaction.show(findFragment);
break;
case 3:
transaction.show(settingFragment);
break;
default:
break;
}
transaction.commit();
}
}
结果展示
三、附代码仓库地址
Android代码仓库



