Android Studio微信页面提交

移动互联网开发第一课

Android Studio微信页面提交

如题,本次项目的目标是完成一个微信页面的编写

要求完成以下需求:
 1. 页面具有标题“微信”
 2. 页面具有中间显示框
 3. 页面具有底部选择框,并且具有选择事件
 4. 页面底部选择框在进行改变的时候,我们需要中间显示框的页面同步改变
 5. 页面的布局清晰
项目完成展示:

在这里插入图片描述

对于前端页面的显示:

页面的显示上,我使用的是在主页面上使用FrameLayout组件作为中间的主要显示区域,然后顶部和底部则使用include进行引入。对于页面的布局没有什么多说的,唯一要注意的就是页面的布局上,高度调整

	// 因为版面问题,这里只显示主页的布局
	//主页中引入的@layout/top和@layout/bottom各位有需要的话
	//还烦请移步gitee
<!--一下为主页的布局代码-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent"


    >

    <include
        layout="@layout/top" />


    <FrameLayout
        android:id="@+id/id_content"
        android:layout_width="match_parent"
        android:layout_height="500dp">
    </FrameLayout>


    <include
        layout="@layout/bottom"/>

    </LinearLayout>

对于事件功能的控制:

这本次实验中,需要我们控制的功能事件并不多,只需要我们完成,在底部点击后,中间的fragment能够相应的进行轮转即可
而为了控制这样一个事件,我们需要做两件事:

  1. 监听我们对底部控件的点击
  2. 将监听到的底部点击事件,相应的传递给fragment的事件控制

对点击事件的监听:

private  void initEvent(){
        mtabweixin.setOnClickListener(this);
      mtabfrd.setOnClickListener(this);
      mtabaddress.setOnClickListener(this);
      mtabset.setOnClickListener(this);
  }

对于fragment获取监听并且返回相应,我们还是使用switch

    private  void  selectfragment(int i){
        FragmentTransaction transaction=fm.beginTransaction();
        hidefragment(transaction);
        switch (i){
            case 0:
                transaction.show(mtab01);
                mimgweixin.setImageResource(R.drawable.tab_weixin_pressed);
                break;
            case 1:
                transaction.show(mtab02);
                mimgfrd.setImageResource(R.drawable.tab_find_frd_pressed);
                break;
            case 2:
                transaction.show(mtab03);
                mimgaddress.setImageResource(R.drawable.tab_address_pressed);
                break;
            case 3:
                transaction.show(mtab04);
                mimgset.setImageResource(R.drawable.tab_settings_pressed);
                break;
            default:
                break;
        }
        transaction.commit();
    }

其余的部分 就没什么好说的了,一下附上项目的源码(码云仓库):
https://gitee.com/xu_huanxill/Android-studio_classtest.git

emmm 没想到因为一场意外浏览量破千了。。。菜鸡战战兢兢。。。那就改改吧。。。改了点地方,要是各位大佬们觉得有啥问题的欢迎留言,我努力完善吧 好歹是我CSDN第一篇博文也是浏览量最高的博文 谢谢各位看客老爷啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章