2

StateListDrawable のパディングに問題があります。私のスタイルの一部<selector>に対して、画像リソースを使用して参照を定義すると、9path 画像に間違ったパディングが設定されます。ところで、特定の画像を設定しました-すべて問題ありません。しかし、それ以外の場合、アンドロイドStateListDrawableは私のものを作成し、<selector>(ソースでデバッガーを使用して見たように) use メソッドによってパディングを取得します:

Rect getConstantPadding();

間違った値を返します(私の場合、nullまたは0ではありません)。このメソッドは、mVariablePadding 変数を使用します。

if (mVariablePadding) {
     return null;
}

しかし、リソースで false に設定することはできません (何か間違ったことをしたのかもしれません)。

誰かがこの問題の解決策を知っていますか? ありがとう!

4

1 に答える 1

0

問題は 9 パス イメージにありました。セレクターの場合、9 パスのドローアブルの右下の境界線 (コンテンツ) からパディングを計算します。セレクターには変数がありandroid:variablePadding、そのパディングを計算します(最大のものを選択するなど)。したがって、ほとんどの場合、画像にパディングがない場合でも、0 以外になる可能性があります。

于 2014-04-04T14:46:59.963 に答える