5

このイメージを実現したい ここに画像の説明を入力

エリア textbox1 と textbox2 ナインパッチ可能

ここに画像の説明を入力

どうすれば正確にこれを9パッチできますか??

4

2 に答える 2

3

Android 9-patch には 1 つの制約があります。右と下の境界線で定義されたコンテンツ領域は連続している必要があります (つまり、右と下の境界線には 1 つのセグメントしか持てません)。

一方、上端と左端のセグメントで定義された複数の伸縮可能領域を持つことができます。

あなたの場合:

伸縮可能な領域の場合:

  • 左の境界線に 1 つのセグメントを描画します

  • 上部の境界線に (同じ長さの) 2 つのセグメントを描画します (垂直の仕切りの周りで対称ですが、垂直の仕切りは含まれません)。

コンテンツ領域:

  • 下の境界線に 1 つのセグメントを描画します
  • 右側の境界線に 1 つのセグメントを描画します

内容について:

  • 2 つの TextView を含む水平線形レイアウトを定義します (両方とも幅 = 0dp および重み = 1.0)。
  • ナインパッチ画像を背景として使用する

この助けを願っています。

-------------------------------------------------- --------------------------

結果 :

私はあなたの計画を使用しますが、結果はこれです ここに画像の説明を入力

私のテキストが増加したとき テキストボックスの高さが増加しません

どうすればそれを修正できますか?

-------------------------------------------------- --------------------------

9パッチの画像とは関係ないと思います。textView に関連している可能性が高いです。

試してください:textViewで

android:layout_height="WRAP_CONTENT"

線形レイアウトで

android:layout_height="WRAP_CONTENT"
于 2013-01-13T08:57:47.067 に答える
2

LinearLayout子の間の仕切りを指定できます。したがって、次のことが必要です。

  1. あなたTextViewの s を水平の中に入れますLinearLayout
  2. 背景として、仕切りのない角丸長方形の 9 パッチを割り当てます。LinearLayout
  3. に仕切りを追加するLinearLayout: android:divider="drawable_resource"
    android:showDividers="middle"

TextViewこのレイアウトは柔軟性も高く、3 つ以上の sが必要な場合でも、別の 9 パッチを作成する必要はありません

于 2013-01-13T09:53:45.040 に答える