0

私は画像を使ったかなりシンプルなレイアウトを持っており、いくつかのテキストビューは垂直のLinearLayoutでラップされています。このレイアウトの背景を9パッチに設定すると、レイアウトの高さが9パッチの高さに設定されているように見えます(9パッチはレイアウトの高さまで正常に伸びているように見えますが)。

単色の背景色を使用すると、レイアウトの高さが意図したとおりに機能します。

これは、9patchが配置されたスクリーンショットです。

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

これは、9patchの代わりに背景が塗りつぶされたスクリーンショットです(テキストがレイアウトの中央に配置されていることに注意してください)。

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

そして最後に、XMLは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/show_gray"
    android:gravity="center_vertical"
    android:orientation="horizontal" android:weightSum="5">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="4"
        android:scaleType="centerCrop"
        android:src="@drawable/temp_featured_banner" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#FF0000"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingLeft="30dp" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Large Text"
            android:textColor="@color/white" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Small Text"
            android:textColor="@color/white" />
    </LinearLayout>

</LinearLayout>

...念のため、これが私の9patchドローアブルを示すdraw9patchのスクリーンショットです。

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

LinearLayoutは9patchの自然なサイズよりも高くないのではないかと思ったので(ストレッチするものは何もありませんでした..)、9patchの高さを50%減らしました。問題はまだ存在していました。

何か案は?

4

2 に答える 2

1

9パッチプログラムでは、「折りたたむ」ことができる領域を選択するために、下部と右側に線を引きます。問題が解決する可能性があります。

http://developer.android.com/guide/developing/tools/draw9patch.html

于 2012-04-04T16:56:47.770 に答える
1

9つのパッチの上部と左側は、画像の「伸縮可能な」領域を示しています。9パッチの右と下は、コンテンツの移動先を定義します。現在、推測するように指示しているだけです(そして、左上のドットで指定された行にすべてのコンテンツを配置することで推測します)。あなたの画像からわかることから、おそらく、9つのパッチの右側に上から下に黒い実線(もちろん、角を除いて)が必要であり、右上の黒い点に一致する点が必要です。下。これにより、OSは画像に関連してコンテンツを配置する場所を指定し、画像を引き伸ばす方法をよりよく理解できるようになります。

于 2012-04-04T20:35:37.310 に答える