Android BottomNavigationBar底部導航控制器的使用1
PS:底部導航控制器,比較炫酷,可以根據自己的喜好來製作導航點選效果,
bar.setMode(BottomNavigationBar.MODE_SHIFTING);
bar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
不同的搭配實現不同效果。
1:實現BottomNavigationBar,需要新增依賴
compile 'com.ashokvarma.android:bottom-navigation-bar:1.4.3'
2:寫兩個Fragment ,以及fragment.xml ,這裡我寫一個fragment,另一個貼上複製即可
public class Fragment2 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragment2,container,false); return view; } }
2:寫MainActivity.java 我先把重要的程式碼提出來,後面是總程式碼<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="222222222222222222"/> </LinearLayout>
載入控制元件:
BottomNavigationBar bar= (BottomNavigationBar) findViewById(R.id.id_btm1); bar.setMode(BottomNavigationBar.MODE_SHIFTING);//樣式,不同搭配效果不同 bar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE); BadgeItem bi=new BadgeItem().setBorderColor("#ff1111").setText("3");//設定紅點提示個數
//載入fragment
bar.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"首頁").setInActiveColor("#ff1111").setActiveColor("#000000"))
.addItem(new BottomNavigationItem(R.drawable.banzi,"扳子").setActiveColor("#FF58C7AF").setTextBadgeItem(bi))
.setFirstSelectedPosition(0)
.initialise();
bar.setTabSelectedListener(this);
實現點選效果需要實現介面:
public class MainActivity extends AppCompatActivity implements BottomNavigationBar.OnTabSelectedListener
下面就是fragment的新增和隱藏
public void hideFrag(Fragment f1){
FragmentTransaction ft=getFragmentManager().beginTransaction();
if(f1!=null&& f1.isAdded()){//判斷,如果不為null,且已經新增過,則hide
ft.hide(f1);
}
ft.commit();
}
public void addFrag(Fragment f1) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
if (f1 != null && !f1.isAdded()) {
ft.add(R.id.id_content_layout, f1);
}
ft.commit();
getFragmentManager().beginTransaction().show(f1).commit();
}
總程式碼:
package liuzhitong.cn.bottomnavigatioin1;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.ashokvarma.bottomnavigation.BadgeItem;
import com.ashokvarma.bottomnavigation.BottomNavigationBar;
import com.ashokvarma.bottomnavigation.BottomNavigationItem;
import fragpac.Fragment1;
import fragpac.Fragment2;
public class MainActivity extends AppCompatActivity implements BottomNavigationBar.OnTabSelectedListener {
private Fragment1 f1;
private Fragment2 f2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addBottomBar();
init();
}
private void init() {
hideAllFrag();
if(f1==null){
f1 = new Fragment1();
}
addFrag(f1);
}
private void addBottomBar() {
BottomNavigationBar bar= (BottomNavigationBar) findViewById(R.id.id_btm1);
bar.setMode(BottomNavigationBar.MODE_SHIFTING);
bar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
BadgeItem bi=new BadgeItem().setBorderColor("#ff1111").setText("3");
bar.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"首頁").setInActiveColor("#ff1111").setActiveColor("#000000"))
.addItem(new BottomNavigationItem(R.drawable.banzi,"扳子").setActiveColor("#FF58C7AF").setTextBadgeItem(bi))
.setFirstSelectedPosition(0)
.initialise();
bar.setTabSelectedListener(this);
}
public void hideFrag(Fragment f1){
FragmentTransaction ft=getFragmentManager().beginTransaction();
if(f1!=null&& f1.isAdded()){
ft.hide(f1);
}
ft.commit();
}
public void addFrag(Fragment f1) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
if (f1 != null && !f1.isAdded()) {
ft.add(R.id.id_content_layout, f1);
}
ft.commit();
getFragmentManager().beginTransaction().show(f1).commit();
}
public void hideAllFrag(){
hideFrag(f1);
hideFrag(f2);
}
@Override
public void onTabSelected(int position) {
hideAllFrag();
switch (position){
case 0:
if(f1==null){
f1 = new Fragment1();
}
addFrag(f1);
break;
case 1:
if (f2 == null) {
f2 = new Fragment2();
}
addFrag(f2);
break;
}
}
@Override
public void onTabUnselected(int position) {
}
@Override
public void onTabReselected(int position) {
}
}
相關推薦
Android BottomNavigationBar底部導航控制器的使用1
PS:底部導航控制器,比較炫酷,可以根據自己的喜好來製作導航點選效果, bar.setMode(BottomNavigationBar.MODE_SHIFTING); bar.setBackgroundStyle(BottomNavigationBar.B
Android BottomNavigationBar底部導航控制器的使用(包含預設postion的設定)
轉載請標明出處:http://blog.csdn.net/u010046908/article/details/50962081本文出自:【李東的部落格】 最近Google在自己推出的Material design中增加了Bottom Navigation導航控制。Android一直沒有官方的導航控制器
Android BottomNavigationBar底部導航控制器的使用
最近Google在自己推出的Material design中增加了Bottom Navigation導航控制。Android一直沒有官方的導航控制器,自己實現確實是五花八門,有了這個規定之後,就類似蘋果的底部Toolbar,以後我們的APP就會有一致的風格,
Android——BottomNavigationBar底部導航欄的快速實現
底部導航的快速實現,不用繁瑣的LinearLayout或者RadioGroup等的那麼多程式碼,簡單,粗暴。 1.基本使用 a.在Android Studio下新增依賴: compile 'com.ashokvarma.android:bottom
Android學習總結——輸入法將BottomNavigationBar(底部導航欄)頂上去的問題
andro devel google tps 底部導航 style log cti googl 在應用清單中給當前<Activity>設置: android:windowSoftInputMode="adjustPan" 關於android:windo
Android學習之BottomNavigationBar實現Android特色底部導航欄
Android底部導航欄的實現方式特別多,例如TabHost,TabLayout,或者TextView等,都可以實現底部導航欄的效果,但是卻沒有Google官方統一的導航欄樣式,今天講的就是Google最近新增到Material design中的底部導航欄Bot
BottomNavigationBar實現Android特色底部導航欄
Android底部導航欄的實現方式特別多,例如TabHost,TabLayout,或者TextView等,都可以實現底部導航欄的效果,但是卻沒有Google官方統一的導航欄樣式,今天講的就是Google最近新增到Material design中的底部導航欄BottomNa
Android隱藏底部導航欄三大金剛按鈕
注:非uid.system專案不用看了。。。。避免看完嘗試不行,233333 定製化專案難免會用到這種需求,要就隱藏底部導航欄,讓使用者不能點選,底部導航欄的3大金剛分別就是我們看到的-返回鍵、home鍵、recent鍵。返回鍵對於我們來說很簡單,平時總是要監聽重
Android基礎-底部導航欄搭建方式二 (RadioGroup+FrameLayout)
程式碼如下: 1. xml檔案: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro
三種方式實現Android頁面底部導航欄
我們在Android手機上使用新浪微博和QQ等一些軟體時,經常會遇到類似下面這種頁面底部導航欄的控制元件,使用這種導航欄可以在手機螢幕的一頁中顯示儘可能多的內容,如下圖所示: 下面我將實現這種導航欄的三種方法總結如下: 一、使用TabHost實現(TabHost在新版的A
Fragment的使用(Android實現底部導航欄)
一、佈局頁面新增 1.新增四個切換頁面的佈局 (1)四個切換頁面的佈局(四個頁面相同): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:
三步搞定Android應用底部導航欄
public class ActivitycollectiondemoActivity extends ActivityCollection { /** Called when the activity is first created. */ @Override public
安卓 BottomNavigationBar 底部導航的使用
簡介:Google推出的BottomNavigationBar底部導航欄 1 、基本的使用(add和replace方式) 2、擴充套件新增訊息和圖形 3、修改圖片大小與文字間距 1、預設使用studio背景圖,防止少圖片資源(效果圖雖不盡人意~)
BottomNavigationBar 底部導航控件
nta 默認 item art ontap navi con tap current BottomNavigationBar 底部導航控件 屬性 說明BottomNavigationBarItem 多個 item,iconSize icon大小currentIndex 默
Xamarin.Forms 3.1.0+版本 Android 原生支持底部導航欄
toolbar ott 支持 cor for aml otto nfx XML Xamarin.Forms 3.1.0+版本 Android 原生支持底部導航欄 Xamarin.Forms 3.1.0以上版本終於支持Android底部導航欄啦,可以不用第三方的支持庫了。 h
Android仿小米商城底部導航欄之二(BottomNavigationBar、ViewPager和Fragment的聯動使用)
簡介 在前文《Android仿小米商城底部導航欄(基於BottomNavigationBar)》我們使用BottomNavigationBar控制元件模仿實現了小米商城底部導航欄效果。接下來更進一步的,我們將通過BottomNavigationBar控制元件和
Android用BottomNavigationBar實現底部導航欄
之前底部導航欄的基本上都是自己通過selector來實現的,今天換上了Google推出的BottomNavigationBar,感覺效果還不錯,寫了一個專案上要用到的功能的demo,先上一張效果圖,大家感受一下:這裡主要介紹BottomNavigationBar的使用,首先要
android開發(1):底部導航條的實現 | navigation tab
tom git 這一 cocoapod https android中 rip launcher href 底部導航條,在iOS中叫tabbar,在android中叫bottombar或bottom navigation,是一個常用的切換頁面的導航條。 同樣,如果有良好的第三
Android BottomNavigationBar 實現底部導航欄的快捷方式
Bottom navigation,為頂級檢視(top-level views)提供快速導航,可以快速的訪問和重新整理頂級檢視 本文提供很完善 底部導航 Frament 一步到位 首先就是新增依賴 //底部導航欄 compile 'com.ashokvarma.andr
Android--BottomNavigationBar實現底部導航欄
package com.android.xiaobai; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.