新しい BottomNavigationView にカスタムアイテムを追加したいと思います。
通常のナビゲーションビューでカスタムビューを追加するチュートリアルはたくさんありますが、一番下のビューについては何も見つかりません。
これが私の見解です
<Android.support.design.widget.BottomNavigationView
Android:id="@+id/navigation_view"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:menu="@menu/menu_main" />
そしてこれがメニューです
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:id="@+id/menu_one"
Android:icon="@drawable/ic_tab_one"
Android:title="one" />
<item
Android:id="@+id/menu_two"
app:actionLayout="@layout/item_action_notification"
Android:title="two" />
ご覧のとおり、通常どおりactionLayoutタグを付けましたが、表示されません。
何か案は?ありがとう。
以下の解決策が役立つことを願っています。
レイアウトを作成します:layout/_custom_cart_item_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<TextView
Android:id="@+id/cart_badge"
Android:layout_width="20dp"
Android:layout_height="20dp"
Android:layout_gravity="top|center_horizontal"
Android:layout_marginLeft="10dp"
Android:background="@drawable/circle"
Android:backgroundTint="@color/colorAccent"
Android:gravity="center"
Android:text="0"
Android:textColor="@Android:color/white"
Android:textSize="12sp" />
</FrameLayout>
drawable/circle
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="oval">
<solid Android:color="@color/white"/>
<size Android:width="40dp" Android:height="40dp" />
</shape>
MainActivity:layout/main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<Android.support.constraint.ConstraintLayout
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:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="com.MainActivity">
<Android.support.design.widget.BottomNavigationView
Android:id="@+id/bot_nav"
Android:layout_width="0dp"
Android:layout_height="56dp"
Android:background="@color/white"
Android:elevation="2dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_menu" />
</Android.support.constraint.ConstraintLayout>
メニュー:menu/bottom_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item
Android:id="@+id/menu_home"
Android:icon="@drawable/home24"
Android:title="Home" />
<item
Android:id="@+id/menu_cart"
Android:icon="@drawable/shoppingcart24"
Android:title="Cart" />
<item
Android:id="@+id/menu_acct"
Android:icon="@drawable/user24"
Android:title="Account" />
</menu>
onCreate内のMainActivityクラス内
BottomNavigationView mbottomNavigationView =findViewById(R.id.bot_nav);
BottomNavigationMenuView mbottomNavigationMenuView =
(BottomNavigationMenuView) mbottomNavigationView.getChildAt(0);
View view = mbottomNavigationMenuView.getChildAt(1);
BottomNavigationItemView itemView = (BottomNavigationItemView) view;
View cart_badge = LayoutInflater.from(this)
.inflate(R.layout._custom_cart_item_layout,
mbottomNavigationMenuView, false);
itemView.addView(cart_badge);
それがあなたのために同様に働くことを願っています。
ありがとうございました