Saya ingin memiliki toolbar appcompat v21 dalam aktivitas saya. Tetapi bilah alat yang saya laksanakan tumpang tindih di bawah bilah status. Bagaimana saya bisa memperbaikinya?
Berikut ini tata letak aktivitas xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
Tampilan bilah alat:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary" />
Gaya tema:
<style name="AppTheme" parent="MaterialNavigationDrawerTheme.Light.DarkActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
</style>
android
xml
android-layout
emen
sumber
sumber
Theme
aplikasi Anda? mempostingnya.CoordinatorLayout
Anda dapat mencoba ini: stackoverflow.com/a/47906087/2201814Jawaban:
Gunakan
android:fitsSystemWindows="true"
dalam tampilan root tata letak Anda (LinearLayout dalam kasus Anda). Danandroid:fitsSystemWindows
merupakansumber
<item name="android:fitsSystemWindows">true</item>
Cukup atur ini ke file v21 / styles.xml
dan pastikan
sumber
Bagi saya, masalahnya adalah saya menyalin sesuatu dari contoh dan menggunakannya
hanya menghapus ini memperbaiki masalah saya.
sumber
Tidak ada jawaban yang bekerja untuk saya, tetapi inilah yang akhirnya berhasil setelah saya mengatur
android:fitSystemWindows
tampilan root (saya mengatur ini dalam gaya v21):Pastikan Anda tidak memiliki baris berikut karena AS meletakkannya secara default:
sumber
Tidak ada jawaban yang bekerja untuk saya, tetapi inilah yang akhirnya berhasil setelah saya menetapkan:
Dalam file tata letak aktivitas induk, ini tidak disarankan di banyak tempat tapi ini berfungsi untuk saya dan menghemat hari saya
sumber
androidx.coordinatorlayout.widget.CoordinatorLayout
tipe.Saya menghapus semua baris yang disebutkan di bawah ini dari /res/values-v21/styles.xml dan sekarang berfungsi dengan baik.
sumber
Menurut google docs, kita tidak boleh menggunakan atribut fitsSystemWindows dalam tema aplikasi, ini dimaksudkan untuk digunakan dalam file tata letak. Penggunaan dalam tema dapat menyebabkan masalah dalam pesan bersulang.
Lihat Masalah di sini & contoh masalah yang disebabkan di sini
Contoh menggunakan cara yang benar dan yang berfungsi dengan baik dengan windowTranslucentStatus juga.
sumber
Hapus garis di bawah ini dari gaya atau gaya (21)
sumber