2016-09-29 12 views
1

В соответствии с моей функциональностью мне нужно использовать меню ящика, а также навигацию внизу. Я использую https://github.com/roughike/BottomBar для навигации внизу.Получение ненужного пространства в верхней части панели инструментов при добавлении нижней навигации

Если я использую нижнюю навигацию только с 3 вкладками, но это нормально, но если я продлеваю ее с помощью 4 или 5 вкладок, это будет выглядеть в виде пробела в верхней части панели инструментов.

Вот мой фрагмент кода, который я использовал для добавления нижней навигации.

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/DrawerLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:elevation="7dp" android:fitsSystemWindows="false" android:scrollbars="none"> 
    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> 
     <include android:id="@+id/tool_bar" layout="@layout/row_main_toolbar_header"></include> 
     <!-- The main content view --> 
     <FrameLayout android:id="@+id/contentFrame" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="@dimen/dp_1" android:layout_marginTop="@dimen/dp_10" android:background="@android:color/white" android:orientation="vertical"></FrameLayout> 
    </LinearLayout> 
    <ListView android:id="@+id/lvDrawerMenu" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/white" android:scrollbars="none"></ListView> 
</android.support.v4.widget.DrawerLayout> 

Там нет какой-либо компонент, необходимый для нижней навигации с использованием данной библиотеки.

В MainActivity.java добавить нижнюю навигацию.

BottomBar bottomBar = BottomBar.attach(this, savedInstanceState); 
bottomBar.setItemsFromMenu(R.menu.home_tab_menu, new OnMenuTabSelectedListener() { 
@Override 
public void onMenuItemSelected(int itemId) { 
    switch (itemId) { 
    case R.id.recent_item: 

    break; 
    case R.id.favorite_item: 

    break; 
    case R.id.location_item: 

    break; 
    case R.id.planning_item: 

    break; 
    case R.id.saver_item: 

    break; 

    } 
} 
}); 

row_main_toolbar_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@android:color/white" 
    android:elevation="@dimen/dp_4" 
    android:gravity="center" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark"> 

    <RelativeLayout 
     android:id="@+id/RelativeLayout01" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="10dp"> 

     <TextView 
      android:id="@+id/txtTBTitle" 
      style="@style/CustomBlackHeaderText" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentTop="true" 
      android:layout_centerVertical="true" 
      android:layout_toLeftOf="@+id/imgTB4" /> 

     <ImageView 
      android:id="@+id/imgTB4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_toLeftOf="@+id/imgTB3" 
      android:layout_toStartOf="@+id/imgTB3" 
      android:padding="@dimen/dp_5" /> 

     <ImageView 
      android:id="@+id/imgTB3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="@dimen/dp_5" 
      android:layout_toLeftOf="@+id/imgTB2" 
      android:layout_toStartOf="@+id/imgTB2" 
      android:padding="@dimen/dp_5" /> 


     <ImageView 
      android:id="@+id/imgTB2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="@dimen/dp_5" 
      android:layout_toLeftOf="@+id/imgTB1" 
      android:layout_toStartOf="@+id/imgTB1" 
      android:padding="@dimen/dp_5" /> 

     <ImageView 
      android:id="@+id/imgTB1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignTop="@+id/txtTBTitle" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="@dimen/dp_5" 
      android:padding="@dimen/dp_5" /> 

    </RelativeLayout> 

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

Screenshot which display space while bottom navigation

Screenshot with no space while only 3 tabs

+0

Добавить код 'row_main_toolbar_header' –

+0

@AnshulTyagi Я отредактировал сообщение с добавлением row_main_toolbar_header.xml Пожалуйста, проверьте. –

+0

попробуйте удалить 'android: padding =" 10dp "' и скажите мне –

ответ

0

У меня была аналогичная проблема. Я решил это, добавив эту строку кода. в соответствии с вашим кодом:

bottomBar.noTopOffset(); 

это по крайней мере сработало для меня с более чем 3 вкладками.

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

  • Нет связанных вопросов^_^