边距/填充收缩ImageView

时间:2012-08-29 00:56:02

标签: android android-layout margin padding relativelayout

我最近试图在没有运气的情况下定位imageview的x和y坐标,似乎没有办法在Gingerbread中做到这一点。然后我决定尝试填充和边距,但是当我设置它们时,它缩小了我的imageview。我设置了250dp的左边填充,图像视图变得很小。 layout_height和width设置为wrap_content。我不确定发生了什么。有谁知道为什么设置填充/边距会缩小图像视图?

2 个答案:

答案 0 :(得分:10)

你会混淆边距和填充。保证金是视图之外的区域,而填充会影响内部的保证金。

Margins and Padding Example

如果设置填充,那么它将影响您的可用内容区域,并假设您设置了ScaleType,它将缩小您的图像以适应可用空间。

现在,你说你已尝试过保证金,但保证金将完全符合您的要求。

例如,如果您想要从左上角放置ImageView 10dp,则可以执行以下操作:

<?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"
    >
    <ImageView
        android:id="@+id/my_image_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:src="@drawable/my_image_id"
        />
</RelativeLayout>

请注意,这会将10dp置于parent边界。如果您的父布局也有填充,则会影响您的内容展示位置。

答案 1 :(得分:2)

如果缩小你的意思是图片的比例混乱,那么你应该使用

android:scaleType="centerInside"

这样可以防止比率发生变化