がListView
入力されていArrayAdapter
ます。アイテムには、単一のTextView
レイアウトのみを使用します。一部の行に複合ドローアブルを設定したいと思います。
TextView
質問:複合ドローアブルにもパディングが適用されないように、含まれている実際のテキストにパディングを設定する方法はありますか?他の解決策は、テキストの幅をロックすることです。ImageViews
レイアウトに追加する必要がありますか?
がListView
入力されていArrayAdapter
ます。アイテムには、単一のTextView
レイアウトのみを使用します。一部の行に複合ドローアブルを設定したいと思います。
TextView
質問:複合ドローアブルにもパディングが適用されないように、含まれている実際のテキストにパディングを設定する方法はありますか?他の解決策は、テキストの幅をロックすることです。ImageViews
レイアウトに追加する必要がありますか?
非常に簡単です:
android:drawablePadding="5dp"
方向に応じて自動的にパディングを使用します。
この投稿に出くわした誰かが答えを見つけることができるように、私はこれを答えとして投稿しています。
テキストのみにパディングを設定する直接的な方法はありませんが、全体に正TextView
のパディングを設定し、ドローアブルに負のパディングを設定することができます。
Gioの推測を改善します。これはおそらく古いAPI/SDK用です...
TL:DR-android:drawablePadding
画像とテキストの間の距離を増やすために適用するだけです。
説明:
とoriginalandroid:drawablePadding
の間にパディングを適用するようになりました。この場合、テキストを含むTextViewです。CompoundDrawable
View
android:padding
修飾子は、すべての化合物を含むグループ全体に適用されるようになりました。
ネガティブポジティブハックを行うことはもはや機能しないようです。
したがって、ドローアブルの位置(drawableTop / Left / ...)に応じて、パディングはドローアブルのすぐ隣、つまり2つの要素の間で反対方向に適用されます。たとえば、左側に配置されたドローアブルに適用すると、TextViewの左側に(少なくともパディングに関して)drawablePadding="10dp"
個人を設定するのと同様の効果があります。ImageView
paddingRight="10dp"