gpt4 book ai didi

android - 如何在Android Bottom Navigation View中获取action_View

转载 作者:行者123 更新时间:2023-11-29 17:00:54 25 4
gpt4 key购买 nike

我有一个要放在 BottomNavigationView 菜单中的自定义布局。就像NavigationView一样,我想在NavigationView Drawer中设置自定义布局,但是无论我如何尝试,仍然无法在底部 View 中获得自定义布局显示。

步骤:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout 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/pull_to_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
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="@color/primary_color"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay">

<ImageView
android:id="@+id/header_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
tools:ignore="ContentDescription"/>

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

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

<!-- Main container for fragment or other views -->
<include layout="@layout/content_main"/>

<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:menu="@menu/activity_home_bottom"
/>
</android.support.design.widget.CoordinatorLayout>
</android.support.v4.widget.SwipeRefreshLayout>

像这样的菜单 XML:

<?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/menu_overview"
android:title=""
app:actionLayout="@layout/bottomview_icon_menu"
app:showAsAction="ifRoom|collapseActionView|"
/>
</menu>

自定义 View 看起来像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_layout"
android:background="@color/alpha_color"
android:layout_width="50dp"
android:layout_height="56dp"
android:orientation="vertical"
>

<TextView
android:id="@+id/menu_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/dark_gray_color"
android:text="title"
android:textSize="@dimen/text_subheading_size"/>

<TextView
android:id="@+id/menu_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hihi"
android:textColor="@color/dark_gray_color"
android:textSize="@dimen/text_subheading_size"/>

</LinearLayout>

我在OnCreate()中的调用方法是这样的:

mBottomView = (BottomNavigationView) findViewById(R.id.bottom_view);
MenuItem item = menu.findItem(R.id.menu_overview);
View view = item.getActionView();

在这里, View 总是为空。

问题是无论我怎么做,按钮 View 在屏幕上只显示空白,而且我总是无法从菜单对象中获取操作布局。我该如何解决这个问题?

最佳答案

BottomNavigationView 不支持 ActionView

BottomNavigationView 使用了多个 internal classes (everything started with BottomNavigation) .看着 BottomNavigationMenuView's buildMenuView ,它不考虑在 MenuItem 上设置的任何 ActionView

关于android - 如何在Android Bottom Navigation View中获取action_View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43022737/

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