2016-03-09 2 views
1

Мне нравится разместить панель инструментов в нижней части страницы. Мой activity_main.xml являетсяКак разместить панель инструментов внизу в Android?

<?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="com.gripabb.abbott.gripabb.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" 
      android:layout_alignParentBottom="true" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

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

    </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.TabLayout 
     android:id="@+id/tab_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/toolbar" 
     android:background="?attr/colorPrimary" 
     android:elevation="6dp" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> 

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

Тогда мой styles.xml является

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

</resources> 

Я поставил эту (android:layout_alignParentBottom="true") в моем activity_main.xml.

+0

использование ** layout_gravity = "bottom | end" ** в AppBarLayout –

+0

просто добавьте android: layout_alignParentBottom = "true", где вы указали tooblar в xml – Sayyaf

ответ

0
<?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="com.gripabb.abbott.gripabb.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:layout_alignParentBottom="true" 
     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.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.TabLayout 
     android:id="@+id/tab_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/toolbar" 
     android:background="?attr/colorPrimary" 
     android:elevation="6dp" 
     android:minHeight="?attr/actionBarSize" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> 

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

Постарайтесь использовать выровнять родительское дно в родительском макете панели инструментов и для вашего макета, поэтому я перемещаю его туда.

+0

Нет, все равно. – batuman

0

Вы размещаете панель инструментов в RelativeLayout.

<android.support.v7.widget.Toolbar 
     android:id="@+id/topToolbar" 
     android:layout_width="fill_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@color/green"> 

    <com.jiohealth.patient.views.widgets.AdjustableImageView 
     android:id="@+id/iv_back" 
     android:layout_width="wrap_content" 
     android:layout_height="@dimen/height_36" 
     android:layout_gravity="left" 
     android:visibility="visible" 
     android:adjustViewBounds="true" 
     android:padding="@dimen/space_8" 
     android:src="@drawable/ic_back_white" /> 

    <com.jiohealth.patient.views.widgets.AdjustableImageView 
     android:id="@+id/iv_video_call" 
     android:layout_width="wrap_content" 
     android:layout_height="@dimen/height_36" 
     android:layout_gravity="right" 
     android:visibility="visible" 
     android:adjustViewBounds="true" 
     android:padding="@dimen/space_8" 
     android:src="@drawable/ic_facetime" /> 

    <com.jiohealth.patient.views.widgets.AdjustableImageView 
     android:id="@+id/iv_voice_call" 
     android:layout_width="wrap_content" 
     android:layout_height="@dimen/height_36" 
     android:layout_gravity="right" 
     android:visibility="visible" 
     android:adjustViewBounds="true" 
     android:padding="@dimen/space_8" 
     android:src="@drawable/ic_voice_call" /> 

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

Поместите android:layout_gravity="end|bottom" свойство в вашем AppBarLayout так:

<android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     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.AppBarLayout> 

После этого Toolbar должны быть выровнены в нижней части экрана.

Смежные вопросы