使用约束布局将一张图片放置在另一张图片的左上角

5

我正在尝试使用约束布局将一个图标放在一张图片的左上角,但它需要与中心点偏离。就像这些图片所示:

目前为止,我已经得到了以下内容:

This is what I've got so far

这是最终目标:

This is the end goal

这是我的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@color/grey_500">

    <ImageView
        android:id="@+id/iv_landscape_art"
        android:layout_width="240dp"
        android:layout_height="150dp"
        android:layout_marginTop="48dp"
        android:elevation="2dp"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        android:background="@android:color/white"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>

    <ImageView
        android:id="@+id/iv_sold_icon"
        android:layout_width="32dp"
        android:layout_height="32dp"
        android:adjustViewBounds="true"
        android:background="@color/colorPrimary"
        android:elevation="4dp"
        android:scaleType="fitXY"
        app:layout_constraintTop_toTopOf="@+id/iv_landscape_art"
        app:layout_constraintStart_toStartOf="@id/iv_landscape_art"
        app:layout_constraintEnd_toStartOf="@+id/iv_landscape_art"
        app:layout_constraintBottom_toTopOf="@+id/iv_landscape_art"/>

我该如何完成这个任务?

1个回答

7
最简单的将较小正方形从大正方形左上角偏移的方法是应用X和Y平移。将以下内容添加到较小正方形的XML中,即可理解我的意思。
android:translationX="10dp"
android:translationY="10dp"

另一种抵消较小正方形的方法是在较大正方形的左上角放置一个Space小部件,并使Space的边长为48dp。现在将较小正方形的右侧和底部约束到Space小部件的右侧和底部。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接