確認バージョン
supportLibrary: '28.0.0-alpha3'
やりたいこと
BottomNavigationViewの各項目すべてのテキストを常に表示し、Shiftingさせない
対応方法
layoutのxmlファイルでBottomNavigationView にapp:labelVisibilityMode="labeled"を設定する<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation_view"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_gravity="bottom"
android:background="@color/white"
app:elevation="8dp"
app:labelVisibilityMode="labeled"
app:itemIconTint="@color/slector_bottom_navigation"
app:itemTextColor="@color/slector_bottom_navigation"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_navigation" />
heightの56dpは、https://material.io/design/components/bottom-navigation.html#specs を参考
✕今までの対応方法(P以降の端末では正常動作しない)
val menuView = view.getChildAt(0) as BottomNavigationMenuView try { val shiftingMode = menuView::class.java.getDeclaredField("mShiftingMode") shiftingMode.isAccessible = true shiftingMode.setBoolean(menuView, false) shiftingMode.isAccessible = false for (i in 0 until menuView.childCount) { val bottomNavigationItemView = menuView.getChildAt(i) as BottomNavigationItemView bottomNavigationItemView.setShiftingMode(false) bottomNavigationItemView.setChecked(false) } } catch (e: NoSuchFieldException) { Log.d(TAG, "ERROR", e) } catch (e: IllegalAccessException) { Log.d(TAG, "ERROR", e) }
↑これだと、non-SDKのリストのリフレクションを利用しているため、
バージョンがAndroid P以降の端末でExceptionが発生するので、実装不可
Harrah's Las Vegas - Mapyro
返信削除Harrah's Hotel and Casino Las Vegas, Nevada. Directions. 3131 titanium tube Las 세종특별자치 출장안마 Vegas Blvd 의왕 출장마사지 S Las Vegas, 서산 출장안마 NV 89109. Phone (702) 770-1000. Find reviews, hours of 천안 출장샵 operation,