FAB с анимацией внутри перекрытия RelativeLayout - PullRequest
0 голосов
/ 17 марта 2019

У меня есть два FAB внутри RelativeLayout, который добавляется внутри другого RelativeLayout.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/fab"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingBottom="60dp"
            android:visibility="invisible">

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fabImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_marginStart="5dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    app:backgroundTint="@color/colorPrimary"
    app:fabSize="mini"
    app:srcCompat="@drawable/ic_image_black_24dp"/>

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fabPosition"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="15dp"
    android:layout_marginStart="15dp"
    android:layout_alignParentBottom="true"
    android:layout_toEndOf="@id/fabImage"
    android:layout_toRightOf="@id/fabImage"
    android:layout_marginRight="20dp"
    android:layout_marginEnd="20dp"
    app:backgroundTint="@color/colorPrimary"
    app:fabSize="mini"
    app:srcCompat="@drawable/ic_gps_fixed_black_24dp"/>

Чтобы показать два FAB, я использую анимацию из основного FAB:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:fillAfter="true">

<scale
    android:duration="2000"
    android:fromXScale="0.3"
    android:toXScale="1.0"
    android:fromYScale="0.3"
    android:toYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%" />

В то время как FAB расширяются с использованием анимации, они уходят «под» макет (наложение) и поэтому их дно не видно.

FABs

Это родительский RelativeLayout, содержащий основной FAB:

<RelativeLayout
    android:id="@+id/parent_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@id/SendButton"
    android:layout_toLeftOf="@id/SendButton"
    android:layout_toStartOf="@id/SendButton">
    ...
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/FabButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        app:backgroundTint="@android:color/transparent"
        app:elevation="0dp"
        app:borderWidth="0dp"
        app:srcCompat="@drawable/ic_add_circle_black_24dp"
        app:fabCustomSize="48dp"/>
    ...
</RelativeLayout>

И это код для добавления представления:

RelativeLayout relativeLayout = (RelativeLayout) rootView.findViewById(R.id.parent_layout);
    View fabView = getLayoutInflater().inflate(R.layout.fab, null);
    relativeLayout.addView(fabView);

Чтобы исправить это, я использовал marginRight на FAB справа, но в нижней части он не работает.Как я могу это исправить?

...