0

2つの画像を揃える方法を見つけようとしています。最初の画像は境界線の画像(ポラロイドのような)で、2番目の画像は画像です。画像は境界線の隅(実際の境界線画像の左と上から約20dp)から開始する必要がありますが、その距離は画面によって異なります...

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <ImageView
                    android:id="@+id/image"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

                <ImageView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:adjustViewBounds="true"
                    android:src="@drawable/border" />
            </RelativeLayout>

これは私が今得ているものです:

ここに画像の説明を入力してください

最も難しいのは、画像が境界線の画像から飛び出してはならず、ビュー全体(境界線+画像)の背後にある背景が変化することです!

4

3 に答える 3

1

ボーダー画像を9パッチにする必要があると思います:http: //developer.android.com/guide/developing/tools/draw9patch.html

于 2012-04-24T09:52:23.343 に答える
0

最善の策は、「境界線」画像をレイアウトの背景描画可能として使用してから、そのレイアウトに画像を配置することです。

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/polaroid_background"
    android:padding="20dp">

    <ImageView
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

私は今これをテストしていませんが、それはおおよそあなたがすることです。

于 2012-04-24T09:31:39.703 に答える
0

私は同様の問題、back_img、img、textに対処しなければなりませんでした。私はスタイルを通して(異なる画面サイズごとに)本当にくだらない方法でそれを扱うことができましたが、私が見つけた唯一のものはうまくいきました...

LinearLayoutを設定し、3つのimgを別のLinearLayout内に配置します

LinearLayoutLine  //wrap content\\
   LinearLayoutImg1 //wrap content + marginRight\\
      Img11
      Img12
      Text13
   /LinearLayoutImg1

   LinearLayoutImg2
      Img21
      Img22
      Text23
   /LinearLayoutImg2
/LinearLayoutLine

スタイルでは、次のようなものです。

    <style name="img1">
        <item name="android:layout_width">85dp</item>
        <item name="android:layout_height">85dp</item>
        <item name="android:layout_marginLeft">1dp</item>
        <item name="android:layout_marginRight">2dp</item>
        <item name="android:layout_marginTop">1dp</item>
        <item name="android:layout_marginBottom">1dp</item>
        <item name="android:gravity">center</item>
        <item name="android:scaleType">fitXY</item>
    </style>

    <!--  imatge del tema -->
    <style name="img2">
        <item name="android:layout_width">82.6dp</item>
        <item name="android:layout_height">82.6dp</item>
        <item name="android:layout_marginLeft">-87dp</item>
        <item name="android:layout_marginRight">0dp</item>
        <item name="android:layout_marginTop">0dp</item>
        <item name="android:layout_marginBottom">0dp</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="text" parent="@android:style/TextAppearance.Small">
        <item name="android:layout_width">66dp</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:lines">1</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_marginBottom">-25.3dp</item>
        <item name="android:layout_marginLeft">-75dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textSize">10.5sp</item>
        <item name="android:textColor">@color/blanc</item>
    </style>

したがって、Img1サイズを少しマージンを設定して(Imgsでそのマージンが必要になる場合があることがわかりました)、2番目のサイズを負のIMG1 width + rightMarginで設定し、必要に応じてテキストを設定します。

于 2012-04-24T09:43:31.330 に答える