1. 程式人生 > >Android BottomNavigationBar底部導航控制器的使用1

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;
    }
}

<?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>
2:寫MainActivity.java    我先把重要的程式碼提出來,後面是總程式碼

載入控制元件:

 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控制元件和

AndroidBottomNavigationBar實現底部導航

之前底部導航欄的基本上都是自己通過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.