gpt4 book ai didi

android - 单一布局中的 BottomNavigationBar、Fab Button 和 ActionBar

转载 作者:搜寻专家 更新时间:2023-11-01 08:26:45 25 4
gpt4 key购买 nike

我想让我的 MainActivity 布局像这样 enter image description here顶部的白色条是 NotificationBar。灰色条是 ActionBar。中间的白色内容是我要放置我的 fragment 的地方(使用Bottombar进行选择)

这是我的布局文件。在我的设备上安装应用程序后,工具栏隐藏在通知栏后面。我应该做哪些改变才能让它发挥作用?

<LinearLayout 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"
android:orientation="vertical">

<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:foregroundGravity="top"
android:layout_gravity="top"
android:background="@color/colorPrimary"
android:id="@+id/toolbar">

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

<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
app:useCompatPadding="true"
android:src="@drawable/ic_add_dark" />

</FrameLayout>

<com.roughike.bottombar.BottomBar
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_height="56dp"
android:gravity="bottom"
android:foregroundGravity="bottom"
android:layout_gravity="bottom"
app:bb_tabXmlResource="@xml/bottombar_tabs"
app:bb_inActiveTabAlpha="0.6"
app:bb_inActiveTabColor="#ffffff"
app:bb_activeTabColor="#ffffff"
app:bb_behavior="shifting|underNavbar"/>

最佳答案

enter image description here试试这个 xml 代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@color/gray"
android:foregroundGravity="top"
android:gravity="top">

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

<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<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:backgroundTint="@color/orange"
android:src="@drawable/ic_add_black_24dp"
app:fabSize="normal"
app:useCompatPadding="true" />

</FrameLayout>

<!--<com.roughike.bottombar.BottomBar-->
<!--android:id="@+id/bottomBar"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="56dp"-->
<!--android:gravity="bottom"-->
<!--android:foregroundGravity="bottom"-->
<!--android:layout_gravity="bottom"-->
<!--app:bb_tabXmlResource="@xml/bottombar_tabs"-->
<!--app:bb_inActiveTabAlpha="0.6"-->
<!--app:bb_inActiveTabColor="#ffffff"-->
<!--app:bb_activeTabColor="#ffffff"-->
<!--app:bb_behavior="shifting|underNavbar"/>-->

<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@color/green"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white"
app:menu="@menu/main">


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

</LinearLayout>

底部导航 View 助手类:

public class BottomNavigationViewHelper {
public static void disableShiftMode(BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
try {
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
shiftingMode.setAccessible(true);
shiftingMode.setBoolean(menuView, false);
shiftingMode.setAccessible(false);
for (int i = 0; i < menuView.getChildCount(); i++) {
BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
//noinspection RestrictedApi
item.setShiftingMode(false);
// set once again checked value, so view will be updated
//noinspection RestrictedApi
item.setChecked(item.getItemData().isChecked());
}
} catch (NoSuchFieldException e) {
Log.e("BNVHelper", "Unable to get shift mode field", e);
} catch (IllegalAccessException e) {
Log.e("BNVHelper", "Unable to change value of shift mode", e);
}
}
}

在java文件中

 BottomNavigationView bnav = (BottomNavigationView) findViewById(R.id.bottomnav);
BottomNavigationViewHelper.disableShiftMode(bnav);

关于android - 单一布局中的 BottomNavigationBar、Fab Button 和 ActionBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44271333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com