, как гласит заголовок, я пытаюсь полностью скрыть кнопку гамбургера, когда я нахожусь в планшетном режиме на планшете, но я все еще хочу, чтобы при входе в подменю была стрелка назад, чтобы вернуться домой экран.
Этот фрагмент кода показывает, как я идентифицирую альбомный режим планшета и другую ориентацию
// check the device type and shows drawer accordingly
if (isTabletLandscape) {
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
drawerLayout.setScrimColor(0x00000000) // set the rest of the screen without shadow as if drawer and the rest were on the same level
}
, и это работает нормально, но он продолжает показывать мне кнопку гамбургера, которая, если нажать, дает это ошибка:
** java .lang.IllegalArgumentException: не отображается вид ящика с гравитацией LEFT **
, поэтому я думаю, что отключение этой кнопки решит мои проблемы.
Я уже пробовал:
toolbar.setnavigationicon(null)
и не работает (также с другим изображением того же цвета панели инструментов actionBarDrawerToggle.isDrawerIndicatorEnable = false
, и оно не работает actionBarDrawerToggle.setHomeAsUpIndicator(null)
supportActionBar?.setDisplayHomeAsUpEnable(false)
, но ни один из них на самом деле не работал.
, если необходимо, это файл. xml, который обрабатывает ящик в режиме большой земли:
<androidx.drawerlayout.widget.DrawerLayout 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/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start"
android:layout_gravity="start"
android:orientation="horizontal">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:id="@+id/nav_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="start">
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</LinearLayout>