1. 程式人生 > >使用radiobutton實現底部導航欄

使用radiobutton實現底部導航欄

很多app中,都有底部導航欄。點選不同的選單,就會顯示不同的介面。
實現底部導航欄的方式有很多,最容易想到的就是是imageview+textview。當然還有一些別的方法,例如完全可以通過radiobutton來實現這個功能。
先來看佈局:

<RadioGroup
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"          
            android:background
="@android:color/white" android:checkedButton="@+id/v_homePage" android:gravity="center_vertical">
<RadioButton android:id="@+id/v_homePage" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight
="1" android:gravity="center" android:button="@null" android:drawableTop="@drawable/main_buttom1" android:text="首頁" >
</RadioButton> <RadioButton android:id="@+id/v_manager"
android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:button="@null" android:drawableTop="@drawable/main_buttom2" android:text="工作管理" >
</RadioButton> </RadioGroup>

設定radiogroup的排列方式為橫向排列兩個radiobutton,預設第一個radiobutton是選中狀態。再來看radiobutton,首先設定button=”@null”,取消預設的小圓點。
然後通過drawableTop屬性設定為main_buttom2:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@mipmap/manage_selected"></item>
    <item android:state_pressed="true" android:drawable="@mipmap/manage_selected"></item>
    <item android:drawable="@mipmap/manage_normal"></item>
</selector>

設定了預設和按下和被選擇時候的顯示的圖片。
只是這樣設定的話會發現圖片大小無法控制,所以我們得去程式碼中控制圖片的大小:

public void  initDrawable(RadioButton v){
        Drawable drawable = v.getCompoundDrawables()[1];
        drawable.setBounds(0,0, DensityUtil.dip2px(this,30),DensityUtil.dip2px(this,30));
        v.setCompoundDrawables(null,drawable,null,null);
    }

通過這個方法可以有效的控制圖片為30dp的大小,首先通過v.getCompoundDrawables()[1]方法獲取頂部的drawable,然後設定寬高為30dp。

這樣就實現底部導航啦,5.0以上點選預設會有波紋效果。5.0一下機子點選預設會變灰,如果有必要可以設定背景為null。
效果圖

相關推薦

使用radiobutton實現底部導航

很多app中,都有底部導航欄。點選不同的選單,就會顯示不同的介面。 實現底部導航欄的方式有很多,最容易想到的就是是imageview+textview。當然還有一些別的方法,例如完全可以通過radiobutton來實現這個功能。 先來看佈局: <

安卓學習--利用RadioButton實現底部導航

目標:利用RadioButton實現底部導航欄 簡介:底部導航欄是現在大部分app都會用到的功能 它幫助使用者可以通過導航在不同介面自由切換 實現過程 步驟1:編寫佈局檔案 用RadioGroup和RadioButton完成導航欄的佈局 用wei

React Native(簡單精緻的底部導航):使用react-native-tab-navigator實現底部導航

實現效果如下:           點選選項卡可以切換並且改變上面頁面的顏色、選中圖示的顏色、圖示   首先需要安裝: npm install react-native-tab-navigator --save

方便快捷地實現底部導航,包含顯示未讀數、提示小紅點、動畫等功能

輕量級底部導航欄 目前市場上的App,幾乎都有底部頁籤導航欄,所以我們在開發的時候經常需要用到這個,雖然 github 上有不少已經封裝好的底部導航欄的工具,例如 bottombar,alphaIndicator(仿微信滑動漸變底部控制元件)等,但是這些控制元件由於功能太多,而且也沒有給

關於用FragmentTabHost的實現底部導航的一些注意的地方~

參考程式碼出處:http://blog.csdn.net/yangyu20121224/article/details/9016223 其中有些地方用的不是太明白,自己在Demo中好好好折騰了下,算是弄白了一些沒看懂得東西,現在記下來,以便備忘~ 一:改進後的專案效果圖: 自

小程式自學系列(零基礎學小程式)---實現底部導航和頂部導航及微信開發工具常用快捷鍵

基本實現功能 1,底部3個tab實現選中時文字和圖片改變 2,實現頁面資料的初始化和點選button時改變資料的簡單互動 3,實現日子的列印 先看效果圖 今天是我自學微信小程式的第一天,這些程式

Android開發之TabLayout真正實現底部導航(可實現點選文字顏色圖片切換)

前言:關於這個TabLayout實現底部導航,在我的上篇《Android開發之TabLayout實現底部導航欄》部落格中有提到,但是後面在仔細的接觸專案中,發現了裡面有很多沒有解決的事情,比如不能實現點選文字顏色和圖片的切換,不能做到禁止左右滑動,所以趁著今天有時間的情況下

Fragment的使用(Android實現底部導航

  一、佈局頁面新增 1.新增四個切換頁面的佈局 (1)四個切換頁面的佈局(四個頁面相同): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:

Android用BottomNavigationBar實現底部導航

之前底部導航欄的基本上都是自己通過selector來實現的,今天換上了Google推出的BottomNavigationBar,感覺效果還不錯,寫了一個專案上要用到的功能的demo,先上一張效果圖,大家感受一下:這裡主要介紹BottomNavigationBar的使用,首先要

關於利用TabHost簡單實現底部導航的設計

TabHost.javapackage com.example.ddf; import java.io.Serializable; import com.example.ddf.SelfRoomActivity; import com.example.ddf.MainAc

用TabLayout實現底部導航

效果圖 有點大 沒弄好下面我們來實現這個效果1、在app的build.gradle中新增這行compile 'com.android.support:design:24.0.0'然後看我的佈局檔案main.xml<?xml version="1.0" encoding=

FragmentTabHost實現底部導航和頂部滑動導航

一、實現底部導航欄效果《類似於RadioGroup》 ①MainActivity的xml佈局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://sch

Android開發之TabLayout實現底部導航

前言:既然Tablayout可以做成選項卡的導航欄,也可以做成底部導航欄的樣子,其實也就是去掉底部的indicator,把TabLayout佈局放在下面! ------------------------分割線--------------------------- 效果圖:

Android BottomNavigationBar 實現底部導航的快捷方式

Bottom navigation,為頂級檢視(top-level views)提供快速導航,可以快速的訪問和重新整理頂級檢視 本文提供很完善 底部導航 Frament 一步到位 首先就是新增依賴 //底部導航欄 compile 'com.ashokvarma.andr

Flutter(一):用BottomNavigationBar實現底部導航架構

效果圖(左ios右Android): 主要涉及到5個檔案,main.dart是程式入口,MainPage.dart是主要介面(相當於Android中的MainActivity),HomePge.dart、FindPage.dart、MinePage.dart分別是首頁、

Android 使用BottomNavigationView實現底部導航

今天我們來使用BottomNavigationView來實現android底部導航欄,在Android Support Library 25 中增加了 BottomNavigationView 控制元件,官方為我們提供了這樣這一個控制元件,就來試試吧! 1.效

BottomNavigationView實現底部導航實現(一)

支援庫的依賴(Android Design Support Library) 開始之前打一波推廣,推廣的就是我自己,最近喜歡hexo的部落格主題,自己上手搭建一個,從開始使用到Hexo的個性化配置,自己邊學習邊記錄,形成了Hexo搭建個人網站的一個體系,同步在

Android--BottomNavigationBar實現底部導航

package com.android.xiaobai; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.

ViewPager+Fragment滑動切換頁面(RadioButton底部導航)

      Activity要繼承FragementActivity,在Activity的佈局檔案中放入了一個ViewPager,為了效果好看,還做了個導航,使得ViewPager和導航欄能夠實現聯動,即ViewPager滑動切換頁面和點選導航欄切換頁面,

基於Mint UI開發VUE專案一之環境搭建和頭部底部導航實現

一:簡介 Mint UI 包含豐富的 CSS 和 JS 元件,能夠滿足日常的移動端開發需要。通過它,可以快速構建出風格統一的頁面,提升開發效率。真正意義上的按需載入元件。可以只加載宣告過的元件及其樣式檔案,無需再糾結檔案體積過大。考慮到移動端的效能門檻,Mint UI 採用 CSS3 處理各種動效,避免瀏覽