使用ConstraintLayout在按钮上显示图片

时间:2017-02-27 16:24:09

标签: android xml android-layout

我正在尝试使用Android工作室中的新ImageViewTextViewConstraintLayout放在按钮上(顶部)。以下是我目前用于我的应用程序的内容,但 RelativeLayouts 对于为每个设备大小制作布局非常耗时。

News feed picture

这是我的XML

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/frameLayout"
    tools:layout_constraintTop_creator="1"
    android:layout_marginStart="48dp"
    android:layout_marginTop="24dp"
    tools:layout_constraintLeft_creator="1"
    ads:layout_constraintLeft_toLeftOf="parent"
    ads:layout_constraintTop_toTopOf="parent"
    android:layout_marginLeft="48dp">


    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/newfeedbtn"
            android:background="@drawable/newsfeedbtn"
            android:visibility="visible" />
    </FrameLayout>


    <ImageView
        android:layout_width="27dp"
        android:layout_height="25dp"
        android:id="@+id/NFRedC"
        android:layout_gravity="right|top"
        tools:ignore="ContentDescription"
        android:background="@drawable/alert"
        android:gravity="center" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#ffffff"
        android:id="@+id/NFTextNumber"
        android:visibility="invisible"
        android:text="0"
        android:layout_gravity="right|top"
        android:layout_marginRight="9dp"
        android:layout_marginTop="3dp" />


</FrameLayout>

有没有人知道我可以使用约束来做到这一点?或者有没有办法在不使用布局内的布局的情况下指定图片的显示顺序? e.g。 Microsoft Office的“Send to back”

1 个答案:

答案 0 :(得分:1)

&#34;有没有办法在不使用布局内的布局的情况下指定图片的显示顺序?&#34;

这就是FrameLayout自动执行的操作。它呈现回到前面,即。它按顺序绘制孩子。第一个孩子是第一个孩子,第二个孩子是第一个孩子,第三个孩子就是那个孩子。

为什么不执行类似下面的操作,类似于您已有的内容,但没有当前包含按钮的冗余FrameLayout?

{{1}}

这有意义还是我误解了你?