android 将图像置于形状的右下角

5w9g7ksd  于 2022-12-09  发布在  Android
关注(0)|答案(4)|浏览(208)

我正在尝试创建类似于以下的内容:

但是,它目前的显示方式如下(稍微缩小):

我不知道如何把个人资料图片放在右下角。
以下是我的布局:

<RelativeLayout android:id="@+id/circle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:background="@color/white"
    android:layout_marginRight="10dp">

    <TextView
        android:id="@+id/bg"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentLeft="true"
        android:background="@drawable/bg" />

    <ImageView
        android:id="@+id/profile_picture"
        android:layout_width="18dp"
        android:layout_height="18dp"
        android:src="@drawable/avatar"/>

</RelativeLayout>

下面是bg可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="oval">

            <solid android:color="#4a9ef7"/>
            <size android:width="50dp" android:height="50dp"/>
        </shape>
    </item>
</layer-list>

我应该改变什么?

jei2mxaa

jei2mxaa1#

<RelativeLayout android:id="@+id/circle"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:background="@color/white"
android:layout_marginRight="10dp">

<TextView
    android:id="@+id/bg"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:background="@drawable/bg" />

<ImageView
    android:id="@+id/profile_picture"
    android:layout_width="18dp"
    android:layout_height="18dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true"
    android:src="@drawable/avatar"/>

</RelativeLayout>
pjngdqdw

pjngdqdw2#

使用此选项:

<ImageView
    android:id="@+id/profile_picture"
    android:layout_width="18dp"
    android:layout_height="18dp"
    android:scaleType="centerCrop"
    android:layout_alignRight="@+id/bg"
    android:layout_alignBottom="@+id/bg"
    android:src="@drawable/ic_launcher"/>

这里的alignRight和alignBottom会将图像视图对齐到背景的右下角。同样,您可以避免使用layerlist,而只使用可绘制的形状作为背景。

8tntrjer

8tntrjer3#

@user4368069仅供参考:

android:layout_alignParentRight:如果为true,则使此视图的右边缘与父视图的右边缘匹配。容纳右边距。
android:layout_alignParentBottom:如果为true,则使此视图的下边缘与父视图的下边缘匹配。容纳下边距。

两者都是
布尔值,“true”或“false”
并在Imageview中设置android:adjustViewBounds="true"。有关详细信息,请阅读https://developer.android.com/reference/android/widget/ImageView.html

zwghvu4y

zwghvu4y4#

使用FrameLayout而不是RelativeLayout
并将头像ImageView设置为gravity="right|bottom"

相关问题