android - 使用约束布局将图像放在另一个图像的左上角

标签 android android-layout android-constraintlayout xml-layout

我正在尝试使用约束布局将图标放置在图像的左上角,但它需要从其两侧的中心偏移。如图所示:

这是我目前所得到的:

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"/>

我该如何实现?

最佳答案

从较大正方形的左上角偏移较小正方形的最简单方法是应用 X 和 Y 平移。将以下内容添加到较小正方形的 XML 中,看看我的意思。

android:translationX="10dp"
android:translationY="10dp"

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

关于android - 使用约束布局将图像放在另一个图像的左上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54161039/

相关文章:

Android API 19 支持AlertDialog黑色边框代替阴影

android - 在android中通过蓝牙进行多连接

android - 当我从 android 中的表中获取数据时,背景屏幕变黑并且我对此无法控制

android - 使用 ConstraintLayout 和 CoordinatorLayout 在滚动时设置动画

android - 在应用程序之间共享私有(private)持久数据的任何解决方案?

android - 如何在没有 NFC 和 ADB shell 命令的情况下让我的应用程序成为设备所有者?

android - 两行约束布局

java - 双向约束 View 有什么好处吗?

java - 以 3x3 模式排列屏幕

android - 屏幕底部的白线(LinearLayout)