類微信介面
提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文件
類微信介面
提示:以下是本篇文章正文內容,下面案例可供參考
一、介面功能展示
頁面頂部顯示微信介面下方有四個按鈕分別為訊息,好友,通訊錄,設定,每個正在執行的介面按鈕以綠色顯示其他以灰色顯示。
二、實現方法
頂上方的htwechat用一個top.xml檔案實現將背景設定為黑色,字型設定為白色
<?xml version="1.0" encoding="utf-8"?><LinnearLaout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width="match_parent"
android:layout_height="65dp"
android:gravity="center"
android:background="#000000"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="htwechat"
android:textColor="#ffffff"
android:textSize="30sp" />
下方四個按鈕的佈局使用用一個大的LinearLayout巢狀四個小LinearLayout實現,四個按鈕使用事先準備好的圖片放入drawble資料夾即可
程式碼:
<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
android:layout_width=“match_parent”
android:layout_height=“100dp”
android:background="@drawable/bottom_bar"
android:orientation=“horizontal”
android:baselineAligned=“false”>
<LinearLayout
android:id="@+id/id_tab_news"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<ImageButton
android:id="@+id/id_tab_news_img"
android:layout_width="226dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="#000000"
android:clickable="false"
app:srcCompat="@drawable/tab_weixin_pressed" />
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text=" 訊息"
android:textColor="#ffffff"
android:textSize="30sp" />
</LinearLayout>
頁面中部分採用Fragment實現,Fragment可以在一個 Activity 中組合多個片段,從而構建多窗格介面。.
程式碼:
private void initFragment(){
fragmentManager=getSupportFragmentManager();
FragmentTransaction transaction=fragmentManager.beginTransaction();
transaction.add(R.id.id_content,mTab01);
transaction.add(R.id.id_content,mTab02);
transaction.add(R.id.id_content,mTab03);
transaction.add(R.id.id_content,mTab04);
transaction.commit();
}
頁面的跳轉功能定義一個hideFragment函式,使用hide函式將中間字樣初始化,再定義setselect函式根據引數使底部灰色圖示變為綠色圖示。中間的文字內容則定義了四個xml,和四個fragment用相對應的fragment來顯示xml裡的內容實現頁面的同步轉換
private final Fragment mTab01=new weixinFragment();
private final Fragment mTab02=new friendFragment();
private final Fragment mTab03=new contactFragment();
private final Fragment mTab04=new settingFragment();
private void setSelect(int i){
FragmentTransaction transaction =fragmentManager.beginTransaction();
hideFragment(transaction);
switch (i){
case 0:
transaction.show(mTab01);
mImgweixin.setImageResource(R.drawable.tab_weixin_pressed);
break;
case 1:
transaction.show(mTab02);
mImgfriend.setImageResource(R.drawable.tab_find_frd_pressed);
break;
case 2:
transaction.show(mTab03);
mImgcontact.setImageResource(R.drawable.tab_address_pressed);
break;
case 3:
transaction.show(mTab04);
mImgsetting.setImageResource(R.drawable.tab_settings_pressed);
break;
default:
break;
}
transaction.commit();
}
private void hideFragment(FragmentTransaction transaction){
transaction.hide(mTab01);
transaction.hide(mTab02);
transaction.hide(mTab03);
transaction.hide(mTab04);
}
按鈕監聽,定義initEvent函式設定監聽4個小LinearLayout,並在監聽到反應時將下方圖片重設為灰色圖片,同時根據id號使用setSelect函式改變頁面的顯示。
public void onClick(View v) {
resetimg();
switch(v.getId()){
case R.id.id_tab_news:
setSelect(0);
break;
case R.id.id_tab_friend:
setSelect(1);
break;
case R.id.id_tab_address:
setSelect(2);
break;
case R.id.id_tab_setting:
setSelect(3);
break;
default:
break;
}
}
private void initEvent(){ //控制監聽範圍
mTabweixin.setOnClickListener(this);
mTabfriend.setOnClickListener(this);
mTabcontact.setOnClickListener(this);
mTabsetting.setOnClickListener(this);
}
程式碼倉庫:https://gitee.com/nekopalaa/wechat-page
相關文章
- Andriod 實現一個類微信聊天介面 (二)
- PHP微信支付類V3介面PHP
- 微信API介面大全API
- 微信開發之微信域名防封介面
- 微信模板介面設計
- 微信jsapi支付 退款介面JSAPI
- Android模組介面服務,暴露SDK+介面服務查詢(類似微信.api)AndroidAPI
- 微信小程式必用介面微信小程式
- 免費呼叫微信推送介面
- PC微信機器人介面api之微信多開原理機器人API
- 微信開發超市全反系統,微信支付刷卡支付,微信介面簡單配置!
- 最新微信域名防封技術-微信域名封禁檢測介面
- pc企業微信hook介面,企業微信行銷軟體Hook
- 微信開發介面API協議API協議
- 呼叫微信介面token的問題
- 分享微信域名檢測API介面API
- 微信公眾號介面導讀
- 微信全功能HOOK介面原始碼Hook原始碼
- vue 高仿微信即時 IM 聊天|仿微信 vue+h5 版|仿微信介面VueH5
- 微信域名檢測官方介面 微信域名實時檢測系統
- 微信3.0.0.47逆向-微信3.0.0.47HOOK介面說明(WeChatHelper.dll)-獲取當前聊天微信IDHook
- 微信域名攔截檢測介面分享
- 小程式實現微信 【我的】介面
- 網頁版微信介面呼叫例項網頁
- 微信域名檢測 微信域名檢測官方介面的呼叫程式碼分享
- 微信短網址 微信短網址(url.cn)線上生成介面
- 微信域名檢測以及微信域名防封等介面的技術原理
- PC個人微信機器人sdk介面api之微信多開原理機器人API
- 逆向微信-分析學習微信是如何快速構建靜態TableView介面的View
- 微信域名攔截檢測介面 檢測域名是否被微信停止訪問
- nuxt.js仿微信App通訊聊天|vue+nuxt聊天|仿微信介面UXJSAPPVue
- 微信對賬單介面返回值解析
- Java微信授權登入小程式介面Java
- 基於微信小程式的知乎介面微信小程式
- 介面和微信有互動,各位都是如何介面測試的?
- 域名檢測介面原理,微信js介面域名該如何實現JS
- electron+vue 仿微信客戶端聊天|electron 仿微信介面|electron 聊天例項Vue客戶端
- 微擎 微贊 微盟 有贊 點點客微信介面對比哪個好