Размещение вида над плавающей кнопкой действия - PullRequest
0 голосов
/ 28 февраля 2019

Я не могу организовать вид выше FloatingActionButton.Он всегда отображается за кнопкой.Как вы можете видеть на скриншоте, view имеет фоновый цвет и стоит за FAB.

enter image description here

И мой макетфайл,

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="370dp"
    android:layout_height="300dp"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_gravity="center"
    app:cardBackgroundColor="#DDE1E2"
    android:layout_margin="4dp">

    <RelativeLayout
        android:layout_width="match_parent"
        android:padding="20dp"
        android:layout_height="match_parent">

        <com.github.mikephil.charting.charts.PieChart
            android:id="@+id/chart1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerVertical="true"
            android:backgroundTint="#DDE1E2"
            android:layout_centerHorizontal="true"
            >

        </com.github.mikephil.charting.charts.PieChart>

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            app:backgroundTint="@android:color/white"
            app:borderWidth="0dp"
            app:elevation="20dp"
            app:fabSize="mini" />

        <RelativeLayout
            android:id="@+id/total_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <View
                android:id="@+id/view"
                android:layout_width="100dp"
                android:layout_height="5dp"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:background="#272727" />

        </RelativeLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="INDIA"
            android:textStyle="bold"
            android:textSize="30sp"
            android:layout_below="@+id/fab"
            android:layout_marginTop="10dp"
            android:layout_centerHorizontal="true"
            />

    </RelativeLayout>


</androidx.cardview.widget.CardView>

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

FloatingActionButton занимает некоторое повышение по умолчанию как часть Material Design .

Таким образом, обходной путь должен дать некоторое повышениена представление , которое должно отображаться над плавающей кнопкой действия.

Например.Вы можете обернуть представление с помощью CardView и использовать следующее в xml.: -

 app:cardElevation="xdp" // i.e, the view that floats above the FAB

Или вы можете использовать собственный вид и придать ему круговой фон, как плавающая кнопка действия без какого-либо возвышения, и разместить вид над ним.

В вашем рисовании: -

 <shape 
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="oval">> 
    <solid android:color="#FFFFFF" />
    <size android:height="25dp"
          android:width="25dp"/>
 </shape>

&& В вас xml: -

 <View
    .....
    .....
    android:id="@+id/customFloatingActionButton"
    android:background="@drawable/oval"/>
0 голосов
/ 28 февраля 2019

Попробуйте это

<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="370dp"
    android:layout_height="300dp"
    android:layout_gravity="center"
    android:layout_margin="4dp"
    app:cardBackgroundColor="#DDE1E2">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="20dp">


        <FrameLayout
            android:id="@+id/total_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_centerInParent="true">

            <androidx.cardview.widget.CardView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                app:cardElevation="30dp">

                <View
                    android:id="@+id/view"
                    android:layout_width="100dp"
                    android:layout_height="5dp"
                    android:background="#272727" />

            </androidx.cardview.widget.CardView>

            <com.google.android.material.floatingactionbutton.FloatingActionButton
                android:id="@+id/fab"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                app:backgroundTint="@android:color/white"
                app:borderWidth="0dp"
                app:elevation="10dp"
                app:fabSize="mini" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical|center"
                android:layout_marginTop="30dp"
                android:text="INDIA"
                android:textSize="30sp"
                android:textStyle="bold" />

        </FrameLayout>

    </RelativeLayout>

</androidx.cardview.widget.CardView>

ВЫХОД enter image description here

0 голосов
/ 28 февраля 2019

Попробуйте

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.cardview.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="370dp"
android:layout_height="300dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_gravity="center"
app:cardBackgroundColor="#DDE1E2"
android:layout_margin="4dp">

<RelativeLayout
    android:layout_width="match_parent"
    android:padding="20dp"
    android:layout_height="match_parent">

    <com.github.mikephil.charting.charts.PieChart
        android:id="@+id/chart1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:backgroundTint="#DDE1E2"
        android:layout_centerHorizontal="true"
        >

    </com.github.mikephil.charting.charts.PieChart>



    <RelativeLayout
        android:id="@+id/total_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <View
            android:id="@+id/view"
            android:layout_width="100dp"
            android:layout_height="5dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#272727" />

    </RelativeLayout>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:backgroundTint="@android:color/white"
        app:borderWidth="0dp"
        app:elevation="20dp"
        app:fabSize="mini" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="INDIA"
        android:textStyle="bold"
        android:textSize="30sp"
        android:layout_below="@+id/fab"
        android:layout_marginTop="10dp"
        android:layout_centerHorizontal="true"
        />

</RelativeLayout>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...