1

Androidアプリで9パッチ画像を使用するのはこれが初めてです。それはとてもばかげています。Eclipseレイアウトエディターでプレビューすると、機能します。しかし、実際のデバイス(HTC Inspire 4g、HTC Explorerなど)でアプリケーションをビルドすると、そうではありません。

<LinearLayout
                        android:layout_width="0dip"
                        android:layout_height="fill_parent"
                        android:layout_margin="5dp"
                        android:layout_weight="1"
                        android:background="@drawable/shadow_border"
                        android:gravity="center"
                        android:padding="0dip" >

                        <TextView
                            android:id="@+id/itemdetail_textview_price"
                            style="@style/textview_nomalBold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="$10"
                            android:textColor="#F00"
                            android:textSize="32dp" />

                        <TextView
                            android:id="@+id/itemdetail_textview_originalPrice"
                            style="@style/textview_nomalBold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="15dp"
                            android:text="$20"
                            android:textSize="32dp" />
                    </LinearLayout>

ナインパッチツールについて

Eclipseレイアウトエディターでプレビュー

実際のデバイスで

ここに問題はありますか?

更新しました:

  • 私はAndroid2.2以降用のアプリを書いています。

  • 私の電話はAndroid2.3を使用しています

4

4 に答える 4

13

下部と右側から2つのドットを削除します。これは、これらの側がコンテンツを表示するスペースを決定するためです。

これがAndroidで9つのパッチがどのように機能するかです

9パッチ

そして、9つのパッチイメージを作成するときは、このチュートリアルに従ってください。

于 2012-05-07T09:42:50.113 に答える
4

自分で解決しましたが、なぜうまくいくのかわかりません。

9パッチでは、画像の左上に2本の線を描画します(写真の2本の黒い線を参照) ここに画像の説明を入力してください

于 2012-05-07T09:08:46.213 に答える
1

もっと深くテストしましたが、draw9patchツール、Eclipseのグラフィカルエディタ、およびデバイスの間に矛盾があるようです。最初の2つで機能するように見える9つのパッチは、デバイスでは機能しません。エラーを報告せずに、サイレントにBitmapDrawableにフォールバックします。2.3.5デバイスと4.1エミュレータで再現します。このAndroidのバグを参照してください:http ://code.google.com/p/android/issues/detail?id = 38941

回避策は、ドットだけでなく、ピクセルの単一行を描画することです。

ヒント:画像はできるだけ小さくする必要があります。左側または上部の領域に2つのドットを配置すると、2つのストレッチされた領域があり、それらの間の領域はストレッチされないままになります。最初のドット(除外)から2番目のドット(含まれる)までの領域を切り取り、ドットを1つだけにして、画像を小さくして同じ結果を得ることができます。

于 2012-10-26T09:17:47.353 に答える
0

私が使用している画像には影があり、見事に画像の最後のピクセルに到達する前に終了すると思いました...したがって、画像をピクセル単位で拡大する必要はありませんでした...(私は9を知っていますパッチツールは私のためにこれを行っていますが、私は画像を編集している途中だったので、そこに追加しました)

したがって、問題は、プレビューがアルファ付きのピクセルを処理できることです。9パッチツールもそれを処理できますが、デバイスは処理できません。

于 2014-12-14T22:26:42.507 に答える