1. ホーム
  2. android

[解決済み] setCompoundDrawablesWithIntrinsicBounds vs. android:drawableRight

2022-02-07 20:22:49

質問

xmlでdrawableを設定する場合、次のような違いがあります。

android:drawableRight="@drawable/arrow_right_normal"

のようなコードで、drawableを設定します。

bt.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, R.drawable.arrow_right_normal);

なぜなら、最初のケースではすべてが期待通りに動くからです(ボタンテキストは中央の水平方向で、アイコンは右側の中央にあります)。 そして、2番目のケースでは、アイコンはボタンの下部または中央にあり、テキストは左上にあります。

どのように解決するのですか?

right は3番目のパラメータです。最後の1つはボトム

bt.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.arrow_right_normal,0);

これ ドキュメント