1

ボタンの背景に 9 パッチ ファイルを使用しています。draw9patch ツールはファイルを検証しますが、Android Studio ではアーティファクトとクロッピングを使用してレンダリングします。これが Android Studio のバグなのか、9 パッチの間違いなのかはわかりません。役立つ場合は、ボタンのコードを次に示します。

<ImageButton
            android:layout_width="fill_parent"
            android:layout_height="40dp"
            android:id="@+id/imageButton"
            android:layout_weight="1"
            android:src="@drawable/tool_panel_share_icon_default"
            android:baselineAlignBottom="true"
            android:background="@drawable/view_type_button_background_left_default"
            android:scaleType="fitCenter"
            />

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

9パッチファイル

これは、ボタン上で次のように表示されると思います。

ここに画像の説明を入力

しかし、これは私が実際に得ているものです(一番下の行は、暗い背景上の26%の透明度です):

ここに画像の説明を入力

左側に誤った黒い線があり、右側にあるはずの黒い線が明らかにトリミングされていることがわかります。

アップデート:

これが実際の 9 パッチ ファイルです。以前に投稿したのは、詳細を確認するためのファイルのスクリーン ショットです。

ここに画像の説明を入力

更新 2:

正常に表示させる方法はわかったのですが、初期不良の原因がわかりません。9 パッチ コンテンツの一部であるオフ ブラック ラインの横にトップ マーカーを配置すると、失敗することに気付きました。ただし、左に 1 ピクセル移動すると、正しくレンダリングされます。

作品: ここに画像の説明を入力

失敗: ここに画像の説明を入力

以下は、新しい 9 パッチと成功したレンダリングのスクリーンショットです。

ここに画像の説明を入力

ここに画像の説明を入力

更新 3:

draw9patch ツールを使用して 9 パッチを再作成しましたが、動作は同じです。

4

4 に答える 4

1

あなたが提供した 9patch png をダウンロードしました。次の画像はあなたの png の左の黒い点で、正しくありません。9patch png の境界線は、幅が 1 ピクセルのみである必要があり、その色として (0, 0, 0) である黒のみを使用できます。

詳細については、このページをご覧ください。

ここに画像の説明を入力

于 2013-07-20T02:57:30.587 に答える
1

私はあなたと同じような問題に直面しています。

デバイスよりも解像度の低いフォルダに 9 パッチ イメージを配置したと思います。

デバイスが画像を取得しようとすると、画像を拡大する必要があり、上部のマーカーはグラデーション領域である「境界」にありますここに画像の説明を入力

これにより、スケーリング後のイメージが予測不能になる可能性があります。

于 2013-07-24T23:20:15.593 に答える