2017-01-05 10 views
1

の下に、私はこのXMLコードを生成した:アンドロイドTabLayoutは、画面

タブバーがの底部に配置されることを正確に私はそれを変更する必要がありますどのように
<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="eis1617.muellerkimmeyer.app.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="@dimen/appbar_padding_top" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

     </android.support.v7.widget.Toolbar> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"/> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:layout_margin="@dimen/fab_margin" 
     app:srcCompat="@android:drawable/ic_dialog_email" /> 

</android.support.design.widget.CoordinatorLayout> 

を、スクリーン? TabLayoutタグでは、すでにandroid:layout_gravity = "bottom"を追加しようとしましたが、何も変更されませんでした。

+0

あなたは間違っているのですか?あなたはボトムメニューを意味しますか? – Veer3383

+0

どういう意味ですか?私はタブバーを画面の下部に配置します。 – Nono

+0

ボトムメニューの回答が追加されました – Veer3383

答えて

5

これは私がそれを達成する方法である:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 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" 
app:layout_behavior="in.mylo.pregnancy.baby.app.FAB"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.v7.widget.Toolbar 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@android:color/white" /> 
</android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewPagerHome" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/bottomNavigation" /> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:background="@android:color/white" 
     android:elevation="80dp"> 

    <android.support.design.widget.TabLayout 
      android:id="@+id/bottomNavigation" 
      android:layout_width="match_parent" 
      android:layout_height="56dp" 
      android:clickable="true" 
      app:tabBackground="?attr/selectableItemBackground" 
      app:tabGravity="fill" 
      app:tabIndicatorHeight="0dp" 
      app:tabMode="fixed" 
      app:tabSelectedTextColor="@android:color/black" /> 

    </android.support.design.widget.AppBarLayout> 

</android.support.design.widget.CoordinatorLayout> 
+0

私のコードで何を変更する必要があるのか​​よく知っているでしょうか。私はすべての要素を保持したいので。あなたのコードでは、例えばツールバーが欠落しています。 – Nono

+0

@Nono私は自分の答えを編集しました。 AppBarLayoutからTabLayoutを削除します。 ViewPagerの下に新しいAppBarLayoutを作成し、そこにTabLayoutを追加します。 –

1

レイアウト いけない使用のタブメニュー、下部に使用する代わりに、新しい材料下部のナビゲーションビューを追加

<?xml version="1.0" encoding="utf-8"?> 

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

     </android.support.v7.widget.Toolbar> 

    </android.support.design.widget.AppBarLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewpagerhome" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <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/colorPrimaryDark" 
      app:itemIconTint="@drawable/menucolor" 
      app:itemTextColor="@drawable/menucolor" 
      app:menu="@menu/bottommenu"/> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/bottom_navigation" 
      android:layout_alignParentRight="true" 
      app:srcCompat="@android:drawable/ic_dialog_email" 
      android:layout_marginTop="@dimen/fab_margin" 
      android:layout_marginBottom="@dimen/fab_margin" /> 
    </RelativeLayout> 
</android.support.design.widget.CoordinatorLayout> 

メニュー を下部メニューとして使用するには、メニューを拡張する必要があります。

あなたのActivityクラスで
<?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_order" 
     android:enabled="true" 
     android:icon="@drawable/orders" 
     android:title="My Orders" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_account" 
     android:enabled="true" 
     android:icon="@drawable/account" 
     android:title="My Account" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_logout" 
     android:enabled="true" 
     android:icon="@drawable/account" 
     android:title="Logout" 
     app:showAsAction="ifRoom" /> 
</menu> 

あなた宣言あなたの一番下のメニューを初期化し、LISTNERを実装し、

完了
BottomNavigationView 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_order: 
            // your fragment or activity code here 
            break; 
           case R.id.action_account: 
            // your fragment or activity code here 
            break; 
           case R.id.action_logout: 
            break; 
          } 
          return false; 
         } 
        }); 
     } 

! これが役立つことを願っています。

関連する問題