1
我有一個自定義佈局,我想將其放在BottomNavigationView菜單中。就像NavigationView我想在NavigationView抽屜中設置自定義佈局,但不管我如何嘗試,我仍然無法在底部視圖中獲得自定義佈局顯示。如何在Android中獲取actionView BottomNavigation查看
步驟:
<?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>
自定義視圖看起來是這樣的:
<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();
在這裏,查看總是得到空。
問題是不管我怎麼做,按鈕視圖在屏幕上只顯示一個空白,並且我始終無法從菜單對象獲取操作佈局。 我該如何解決這個問題?
我認爲這是答案,因爲我用斷點來檢查菜單對象,但我找不到任何相關的視圖。這很令人困惑,因爲這些方法已經存在,但實際上並不支持。 – TaoBit
@TaoBit - '