0

Android アプリ用の画像をいくつか作成しました。9patch イメージを作成するために必要なすべての手順を実行しましたが、役に立ちませんでした。アプリケーションはファイルを認識するだけではありません。

私がこれまでに試したこと:

  • さまざまな PNG ビット モードでイメージを作成
  • 左の 1 ピクセルの境界線と端の 2 ピクセルの境界線
  • draw9patch ツールを実行して、以下に投稿された結果を生成しました
  • アプリケーションが他の 9 パッチを読み取ることを確認
  • 動作するはずのランダムな 9patch 画像を試して xxhdpi フォルダーに入れましたが、黒い線でそのまま表示されます

xxhdpiイメージを使用しています。

9patch を検出して表示するために使用しているコードは次のとおりです。

...
Bitmap bitmap = Resources.getBitmap(context, identifier);
byte[] chunk = bitmap.getNinePatchChunk();
            if (NinePatch.isNinePatchChunk(chunk)) {
                drawable = new NinePatchDrawable(bitmap, chunk, new Rect(), null);
            } else {
                BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmap);
...

これが私の9パッチ画像です:

button.9.png

そして、これが結果です

結果

次に何を試すべきかについてのアイデアが尽きた。どんな助けでも大歓迎です。

4

1 に答える 1

0

インジケーターのみを設計して使用するだけで、背景全体を作成しないでください..

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/expander_open_holo_light" android:state_empty="true"></item>
    <item android:drawable="@drawable/expander_close_holo_light" android:state_expanded="true"></item>
    <item android:drawable="@drawable/expander_open_holo_light"></item>

</selector>

android:groupIndicator="@drawable/indicatornew" のようなリンゴ

于 2013-11-15T06:38:02.970 に答える