繁体   English   中英

如何在Android中的imageview上放置按钮?

[英]How to place a button over an imageview in android?

我有一个imageview,我想放置一个按钮以从imageView中关闭/删除图像,就像在Tinder个人资料照片上所做的一样。 问题是,不管我做什么,它总是放在后面。

我有一个RelativeLayout作为imageview和imagebutton的容器

<RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1">

        <ImageButton
            android:id="@+id/close1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/icon_close"
            android:background="@color/white"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true" />

        <ImageView
            android:id="@+id/photo1"
            android:layout_width="match_parent"
            android:layout_height="115dp"
            android:layout_marginHorizontal="5dp"
            android:background="@drawable/rounded_rect_primary"
            android:elevation="5dp"
            android:scaleType="fitXY"
            android:src="@drawable/icon_upload" />
    </RelativeLayout>

我也尝试过这样的事情:

  close1.bringToFront();
    close2.bringToFront();
    close3.bringToFront();

我想了解它的工作原理,究竟是什么定义了前面和后面的内容?

您的按钮始终显示在图片的后面,因为Android从上到下呈现XML代码。 因此,您的按钮首先被渲染,然后按图像进行覆盖。

您应该尝试将ImageButton放在ImageView之后。 我建议您使用ConstraintLayout

应该是这样

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/photo1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/rounded_rect_primary"
        android:scaleType="fitXY"
        android:src="@drawable/icon_upload"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>

    <ImageButton
        android:id="@+id/close1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon_close"
        android:background="@color/white"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM