移動互聯網開發第一課
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能夠相應的進行輪轉即可
而爲了控制這樣一個事件,我們需要做兩件事:
- 監聽我們對底部控件的點擊
- 將監聽到的底部點擊事件,相應的傳遞給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第一篇博文也是瀏覽量最高的博文 謝謝各位看客老爺啦