2

最近、イメージビューの x 座標と y 座標をうまく配置しようとしましたが、Gingerbread でそれを行う方法がないようです。次に、パディングとマージンを試してみることにしましたが、それらを設定するとイメージビューが縮小されます。左パディングを 250dp に設定すると、画像ビューが小さくなりました。layout_height と width は wrap_content に設定されます。何が起こっているのかわかりません。パディング/マージンを設定するとイメージビューが縮小される理由を知っている人はいますか?

4

2 に答える 2

14

マージンとパディングを混同しています。マージンはビューの外側の領域ですが、パディングはマージンのコンテンツに影響します。

マージンとパディングの例

パディングを設定すると、利用可能なコンテンツ領域に影響し、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親レイアウトにもパディングがある場合、コンテンツの配置に影響します。

于 2012-08-29T01:23:50.893 に答える
1

縮小によって画像の比率が台無しになっていることを意味する場合は、使用する必要があります

android:scaleType="centerInside"

これにより、比率が変化するのを防ぎます

于 2012-08-29T00:57:54.917 に答える