Потрясающая кнопка не отображается в макете в Android

Невероятная кнопка не видна в макете. Без использования listView потрясающая кнопка видна, но когда я добавляю listView, потрясающая кнопка не видна.

    <?xml version = "1.0" encoding = "utf-8"?>
<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/my_drawer_layout"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    tools:context = ".MainActivity"
    tools:ignore = "HardcodedText">

    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:orientation = "vertical">

        <ListView
            android:id = "@+id/contactList"
            android:layout_width = "match_parent"
            android:layout_height = "match_parent">

        </ListView> 
        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id = "@+id/fab"
            android:layout_width = "40dp"
            android:layout_height = "40dp"
            android:layout_gravity = "end|bottom"
            android:layout_marginTop = "450dp"
            android:layout_marginRight = "20dp"
            android:layout_marginBottom = "100dp"
            android:src = "@drawable/ic_baseline_add" />
    </LinearLayout> 
    <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/navigation_menu" /> 
</androidx.drawerlayout.widget.DrawerLayout>

Как я могу показать потрясающую кнопку в макете

Замените LinearLayout на Framelayout

Alpha 1 09.04.2022 08:23

Вы должны использовать RelativeLayout вместо LinearLayout. Поскольку ваш linearlayout имеет вертикальную ориентацию, а ваш listview — match_parent, поэтому listview займет весь размер экрана. Используйте относительный макет и добавьте alignparentbottom true в плавающую кнопку

pratik vekariya 09.04.2022 08:23
0
2
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте использовать CoordinatorLayout:

<?xml version = "1.0" encoding = "utf-8"?>
<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/my_drawer_layout"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    tools:context = ".MainActivity"
    tools:ignore = "HardcodedText">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width = "match_parent"
        android:layout_height = "match_parent">

        <ListView
            android:id = "@+id/contactList"
            android:layout_width = "match_parent"
            android:layout_height = "match_parent"/>

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id = "@+id/fab"
            android:layout_width = "40dp"
            android:layout_height = "40dp"
            android:layout_gravity = "end|bottom"
            android:layout_marginTop = "450dp"
            android:layout_marginRight = "20dp"
            android:layout_marginBottom = "100dp"
            android:src = "@drawable/ic_baseline_add" />

    </androidx.coordinatorlayout.widget.CoordinatorLayout>

    <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/navigation_menu" /> 
        
</androidx.drawerlayout.widget.DrawerLayout>

Другие вопросы по теме