0

我想要完成的只是在我的图像视图周围创建一个小的 2-4dp 填充边框。结果(在 ADT 中看起来是正确的,但这是它在设备上的样子):

在此处输入图像描述

请注意,顶部有 5 px,左/右/下有 7 px 空间(这是用于 hdpi 设备)

这是我的行的 xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingTop="2dp">
    <RelativeLayout
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@android:color/white"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true">
        <ImageView
            android:src="@android:color/black"
            android:id="@+id/row_image"
            android:scaleType="centerCrop"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="4dp"
            android:layout_centerInParent="true"/>  
    </RelativeLayout>
</RelativeLayout>

我什么都试过了:Adjustviewbounds、centerCrop、wrap_content、match_parent、center、centerInside、height=46/width=46、。任何新的建议将不胜感激,layout_gravity=center。

编辑新信息:所以我尝试删除 android:layout_alignParentRight="true" 和 android:layout_centerVertical="true" 现在填充/边距看起来正确但它没有放在右侧。

4

4 回答 4

1

试试这个:

使用 ShapeDrawable 制作可绘制的 xml (bg.xml)。纯色白色和边框黑色。然后将其添加为 ImageView 的背景并将 ImageView 的填充设置为 2dp。这应该没问题。不需要 ReletiveLayouts..

希望这可以帮助!

于 2012-04-13T08:32:37.653 回答
0

所以罪魁祸首是 android:layout_centerVertical="true" 。它以某种方式移动布局,因此居中不正确。

于 2012-04-13T09:05:44.777 回答
0

请检查:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="right|center_vertical" >

    <RelativeLayout
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@android:color/white"
        android:layout_margin="5sp"
        android:padding="5sp" >

        <ImageView
            android:id="@+id/row_image"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:src="@android:color/black" />
    </RelativeLayout>

</RelativeLayout>

希望你正在寻找这个,如果没有,然后告诉你你想要什么。谢谢。

于 2012-04-13T12:36:13.693 回答
0

你应该试试这段代码:

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:contentDescription="@string/test"
    android:padding="1dp"
    android:src="@drawable/some_photo"
    android:cropToPadding="true"
    android:scaleType="centerCrop" 
    android:background="@color/grey_border"/>
于 2015-02-24T08:00:39.100 回答