2017-06-10 5 views
-1

どのようにすればボトムナビゲーションバー(アンドロイドサポートウィジェット)を使用して別の文字列を表示することができますか?つまり、どうすればレイアウトを切り替えることができますか?は解決策を見つけられず、何とか "setContentView (R. layout. example);"が機能しません。ボトムナゲーションバーを使用する

+0

セットコンテンツビューは、全体の活動ではなく、下のバーで... 'LayoutInflater' –

+0

を使用してみてください、あなたはこのような何かを探していますか? https://github.com/umano/AndroidSlidingUpPanel/blob/master/README.md –

+0

何かが期待通りに機能しない場合は、質問を編集して[mcve] –

答えて

0

は、ここでは簡単スニペットを始めるためにです:私たちは私たちの依存関係を更新する必要があると

public class MainActivity extends AppCompatActivity { 
    private BottomBar mBottomBar; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Notice how you don't use the setContentView method here! Just 
     // pass your layout to bottom bar, it will be taken care of. 
     // Everything will be just like you're used to. 
     mBottomBar = BottomBar.bind(this, R.layout.activity_main, 
       savedInstanceState); 

     mBottomBar.setItems(
       new BottomBarTab(R.drawable.ic_recents, "Recents"), 
       new BottomBarTab(R.drawable.ic_favorites, "Favorites"), 
       new BottomBarTab(R.drawable.ic_nearby, "Nearby"), 
       new BottomBarTab(R.drawable.ic_friends, "Friends") 
     ); 

     mBottomBar.setOnItemSelectedListener(new OnTabSelectedListener() { 
      @Override 
      public void onItemSelected(final int position) { 
       // the user selected a new tab 
      } 
     }); 
    } 

    @Override 
    protected void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     mBottomBar.onSaveInstanceState(outState); 
    } 
} 


How to use ? 

開始するには!

コンパイル「com.android.support:design:25.0.0」

デザインXML。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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="match_parent"> 

    <!-- Content Container --> 


<android.support.design.widget.BottomNavigationView 
     android:id="@+id/bottom_navigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     app:itemBackground="@color/colorPrimary" 
     app:itemIconTint="@color/white" 
     app:itemTextColor="@color/white" 
     app:menu="@menu/bottom_navigation_main" /> 

</RelativeLayout> 

要件に応じてメニューを作成します。

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
     android:id="@+id/action_favorites" 
     android:enabled="true" 
     android:icon="@drawable/ic_favorite_white_24dp" 
     android:title="@string/text_favorites" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_schedules" 
     android:enabled="true" 
     android:icon="@drawable/ic_access_time_white_24dp" 
     android:title="@string/text_schedules" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_music" 
     android:enabled="true" 
     android:icon="@drawable/ic_audiotrack_white_24dp" 
     android:title="@string/text_music" 
     app:showAsAction="ifRoom" /> 
</menu> 

処理の有効/無効の状態。セレクタファイルを作成します。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:color="@color/white" android:state_enabled="true" /> 
    <item android:color="@color/colorPrimaryDark" android:state_enabled="false" /> 
</selector> 

ハンドルイベントをクリックします。

BottomNavigationView bottomNavigationView = (BottomNavigationView) 
       findViewById(R.id.bottom_navigation); 

bottomNavigationView.setOnNavigationItemSelectedListener(
     new BottomNavigationView.OnNavigationItemSelectedListener() { 
      @Override 
      public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
       switch (item.getItemId()) { 
        case R.id.action_favorites: 
**question now is: what to put inside here so it switch to another layout??** 
         break; 
        case R.id.action_schedules: 
**question now is: what to put inside here so it switch to another layout??** 
         break; 
        case R.id.action_music: 
**question now is: what to put inside here so it switch to another layout??** 
         break; 
       } 
       return false; 
      } 
}); 
+0

としてコードを追加してください約尋ねられます。 https://github.com/roughike/BottomBar –

+0

@ cricket_007ありがとう、しかし、私はすでにこの1つを試しましたが、それは文字列間の切り替え以上ではありません。これは私の質問につながります:それは文字列以外のものにどのように切り替えることができますか?私はどんな助けでも満足しています。 – Belmandel

+0

@ベルマンデルあなたは何をしようとしているのか分かりません。あなたはEuphor08に反応することを意味しましたか? –

関連する問題