簡單的自定義BottomBar-仿微信底部導航欄
今天寫一個簡單的自定義的BottomBar。
圖片文字都是比較隨意的,具體實現中自己可以修改。下面是實現圖:
首先我們現在佈局中把想要顯示的整個介面的基本佈局搭建成功。(其實主要在於設定你的Tab。 如果專案中用到Bootmbar的地方比較多 或者是你想複用性高一點的話 其實底部的Tab 的view 完全可以自定義。好處就是可以靈活實現tab的增減,複用行比較好)。
在設定好佈局之後,需要在Fragment中設定我們需要切換的Fragment:<FrameLayout android:id="@+id/my_content" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" > </FrameLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <LinearLayout android:id="@+id/ly1" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" > <ImageView android:id="@+id/img1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/ly2" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" > <ImageView android:id="@+id/img2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/ly3" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" > <ImageView android:id="@+id/img3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:id="@+id/ly4" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center_horizontal" android:orientation="vertical" > <ImageView android:id="@+id/img4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout>
private void initFragment() { Fragment1 fragment1 = new Fragment1(); Fragment2 fragment2 = new Fragment2(); Fragment3 fragment3 = new Fragment3(); Fragment4 fragment4 = new Fragment4(); fragmentList.add(fragment1); fragmentList.add(fragment2); fragmentList.add(fragment3); fragmentList.add(fragment4); FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.add(R.id.my_content, fragment1).commit(); index = 0; //tab最後一次點選的位置 }
因為是Demo,故用的Fragment 的name 不夠專業,Fragment1-Fragment4中可以實現自己的具體邏輯,這裡這是讓他顯示背景和文字 故不再貼出程式碼。
然後給不同的tab設定點選事件,點選事件中可以實現Fragment的切換和Tab樣式的變化(比如過文字顏色和圖片的改變的等)。
Fragment切換的具體程式碼:
private void switchFragment(int position) { if (position == index) { return; } if(null == fragmentList || 0 == fragmentList.size()) { return; } FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.hide(fragmentList.get(index)); if (!fragmentList.get(position).isAdded()) { transaction.add(R.id.my_content, fragmentList.get(position)).show(fragmentList.get(position)); } else { transaction.show(fragmentList.get(position)); } transaction.commit(); index = position; }
然後簡單的BottomBar就實現了。因為是簡易的Demo 故很多地方都沒進行封裝。我們完全可以把Fragment的切換 ,Fragment List的定義和tab的樣式、數目的方法實現封裝,子類繼承Base類之後,實現Fragment List方法和Tab樣式方法即可。時間原因,不再進行封裝。
上面是我的微信公共號 每天都會給大家分享最新的知識點,歡迎大家的加入
最近一段時間對程式碼進行了封裝 點選下載Demo
相關推薦
簡單的自定義BottomBar-仿微信底部導航欄
今天寫一個簡單的自定義的BottomBar。 圖片文字都是比較隨意的,具體實現中自己可以修改。下面是實現圖: 首先我們現在佈局中把想要顯示的整個介面的基本佈局搭建成功。(其實主要在於設定你的Tab。 如果專案中用到Bootmbar的地方比較多 或者是你想複用性高一點的話
Android專案導航欄之仿微信底部導航欄TabLayout+ViewPager+Fragment
一、實現效果: 二、依賴jar包: compile 'com.android.support:design:24+'三、專案工程結構: 四、XML佈局 activity_main.xml佈局: <?xml version="1.0" encoding="u
Android仿微信底部選單欄+今日頭條頂部導航欄
背景 Android應用幾乎都會用到底部選單欄,在Material Design還沒有出來之前,TabHost等技術一直佔主流,現在Google新sdk中提供了TabLayout類可以便捷的做出底部選單欄效果。 本節我們實現兩種主要的Tab效果: 仿微信底部選
Android仿微信底部選單欄+頂部選單欄
本文要實現仿微信微信底部選單欄+頂部選單欄,採用ViewPage來做,每一個page對應一個XML,當手指在ViewPage左右滑動時,就相應顯示不同的page(其實就是xml)並且同時改變底部選單按鈕的圖片變暗或變亮,同時如果點選底部選單按鈕,左
隱藏微信底部導航欄
<script>document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {WeixinJSBridge.call('hideToolbar');});</script>
html css 仿微信底部自定義選單
最近幾個月一直從事微信開發,從剛開始的懵懂漸漸成長了一點。今天覺得微信底部自定義選單,如果能在html的頁面上也能顯示就好了. 記得以前看過某個網頁有類似效果.查找了該網頁的css. ok現在html css 實現微信自定義選單效果. 不多說直接上程式碼
【Android 仿微信通訊錄 導航分組列表-下】自定義View為RecyclerView打造右側索引導航欄IndexBar
本篇文章已授權微信公眾號 guolin_blog (郭霖)獨家釋出 一 概述 在上篇文章(http://blog.csdn.net/zxt0601/article/details/52355199)裡,我們用ItemDecoration為Recy
企業微信嵌入自定義專案(微信useId校驗登陸使用者合法性)
好久沒有寫部落格了,最近有一點小收穫,來記錄一下。免的以後使用的時候又找不到。 最近,公司需要用企業微信整合內部專案。原本以為是另外一個大神的事,結果落到我頭上了。慚愧花費了兩天時間,哎。。。 博主在這裡走了不少彎路。在這建議大家,儘量能閱讀官方文件再入手。我百度攻略耗費半天時間,然而收穫甚微。 好了,
button元件、 onShareAppMessage 方法實現 —— 自定義傳參 —— 微信小程式
有時候自定義分享按鈕——需要傳參,可是小程式的button元件,並不支援傳參, 這個時候,我們可以在button上,自定義傳參,格式如下: data-屬性名 = " {{ 引數 }} " 然後在onShareAppMessage方法中,可以接收到引數,並打印出
Pythpn整合itchat定時傳送自定義訊息到微信群
完整程式碼如下: import itchat import time from apscheduler.schedulers.blocking import BlockingScheduler # 登陸,enableCmdQR 值為true 或 負數 為負數的原因有的手機無法識別二維碼,
android 自定義ListView顯示微信聊天好友列表
我們使用listView實現顯示微信好友列表,如下圖所示 這是MainActivity的程式碼如下: <span style="font-size:18px;">package com.listviewdodo; import java.util.Arr
微信小程式之自定義toast例項 —— 微信小程式實戰系列(6)
微信提供了一個toast的api wx.showToast() 本來是比較好的,方便使用,但是這個toast會顯示出圖示,而且不能去除。 假設:我們執行完業務的時候,toast一下,當執行成功的
[GitHub開源]Android自定義View實現微信打飛機遊戲
之前寫了很多自定義View理論方面的文章,具體可以參見《Android中自定義View、ViewGroup理論基礎詳解》 。 理論指導實踐,本博文演示瞭如何通過自定義View實現微信打飛機遊戲。 全
自定義View實現微信主頁漸變效果
直入主題,先看圖 下面看實現原理: 1.先是佈局檔案 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andro
Android仿微信底部實現Tab選項卡切換效果
在網上看了比較多的關於Tab的教程,發現都很雜亂。比較多的用法是用TitlePagerTabStrip和ViewPaper。不過TitlePagerTabStrip有個很大的缺陷,Tab裡面的內容剛進去是沒有的,要滑一次才能加載出來。而且滑動的時候,Tab裡面的內容位置
微信底部導航漸變效果-----viewpager&PorterDuffXfermode
實現這個功能主要涉及的知識點有 ViewPagerPorterDuffXfermode自定義檢視ViewPager 關於ViewPager需要注意的知識主要是OnPageChangeListener,該介面的三個方法如下 public abstract void onPa
Kotlin實現仿知乎底部導航欄顯示隱藏效果Behavior
最開始遇見這個問題我的第一想法是給recyclerview新增滑動監聽,然後再給底部導航新增顯示隱藏動畫,可是這麼做很不優雅,一旦recyclerview不止一個就需要給每個都新增一遍監聽(雖然同樣的程式碼cv就行了),這絕不是一個優秀程式設計師的追求。所以就
Android仿小米商城底部導航欄之二(BottomNavigationBar、ViewPager和Fragment的聯動使用)
簡介 在前文《Android仿小米商城底部導航欄(基於BottomNavigationBar)》我們使用BottomNavigationBar控制元件模仿實現了小米商城底部導航欄效果。接下來更進一步的,我們將通過BottomNavigationBar控制元件和
通過TabLayout自定義tab實現圖文混搭導航欄
國際慣例先看效果 好久不見,最近沉默與需求無法自拔,也根據最近的小需求做出一篇使用性的教程,內容不難。 本效果是使用谷歌提供的design庫中的tabyout來實現的效果 com.android.support:design:25.1.1 如果不
小程序自定義單頁面、全局導航欄的實現代碼
增加 -h 兩種 margin 小時 etc 詳細 100% 目前 需求 產品說小程序返回到首頁不太方便,想添加返回首頁按鈕,UI說導航欄能不能設置背景圖片,因為那樣設計挺好看的。 需求分析並制定方案 這產品和UI都提需求了,咱也不能反駁哈,所以開始調研,分析可行