【问题标题】:Getting unncessary space at the top of toolbar while adding bottom navigation在添加底部导航时在工具栏顶部获得不必要的空间
【发布时间】:2017-02-07 15:14:13
【问题描述】:

根据我的功能,我需要使用抽屉菜单和底部导航。我使用https://github.com/roughike/BottomBar 进行底部导航。

如果我使用只有 3 个选项卡的底部导航,它可以正常工作,但如果我使用 4 或 5 个选项卡扩展它,则它会在工具栏顶部显示空白。

这是我用于添加底部导航的代码 sn-p。

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>

【问题讨论】:

  • 添加row_main_toolbar_header的代码
  • @AnshulTyagi 我已编辑帖子并添加 row_main_toolbar_header.xml 请检查。
  • 尝试删除android:padding="10dp"并告诉我

标签: android navigation whitespace tabbar


【解决方案1】:

当创建默认底部导航栏时,activity_main 中将自动具有此属性:

android:paddingTop="?attr/actionBarSize"

所以只需删除它,您的应用顶部就没有空间了

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。我通过添加这行代码解决了它。根据您的代码:

    bottomBar.noTopOffset();
    

    这至少对我有用,有 3 个以上的标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 2013-08-08
      相关资源
      最近更新 更多