4

私は次のレイアウトを持っています:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/create_workout_fab_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/activity_horizontal_margin"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/fab"
android:stateListAnimator="@anim/fab_elevation"
android:clickable="true"
>

<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/create_workout_fab_anim_helper"
    android:layout_width="@dimen/fab_size"
    android:layout_height="@dimen/fab_size"
    card_view:cardBackgroundColor="@color/primary_dark"
    card_view:cardCornerRadius="@dimen/fab_radius"
    android:visibility="invisible"
    />
<TextView
    android:id="@+id/create_workout_fab_label"
    android:layout_width="@dimen/fab_size"
    android:layout_height="@dimen/fab_size"
    android:background="@drawable/fab_ripple_selector"
    android:textAppearance="?android:textAppearanceLarge"
    android:text="+"
    android:textColor="@color/fab_label_color"
    android:duplicateParentState="true"
    android:gravity="center"
    tools:text="+"
    tools:textColor="@color/fab_label_color"
    />



    </FrameLayout>

CardView は、アニメーションの半径の変更によって、円形のボタンから四角形のビューへのスムーズなアニメーションに使用するためだけに存在します。

しかし、問題は、CardView が表示されるたびに、TextView の上にとどまることです。それはなぜですか、そしてそれを TextView の下に配置するにはどうすればよいですか

4

1 に答える 1

6

FrameLayout は、最初から最後まで順番に子を描画します。したがって、CardView を TextView と交換する必要があります。

更新: また、Android L+ で実行している場合は、CardView の標高を TextView よりも高く設定する必要があります。

于 2014-12-10T21:39:45.990 に答える