22

ListView入力されていArrayAdapterます。アイテムには、単一のTextViewレイアウトのみを使用します。一部の行に複合ドローアブルを設定したいと思います。

TextView質問:複合ドローアブルにもパディングが適用されないように、含まれている実際のテキストにパディングを設定する方法はありますか?他の解決策は、テキストの幅をロックすることです。ImageViewsレイアウトに追加する必要がありますか?

4

3 に答える 3

48

非常に簡単です:

android:drawablePadding="5dp"

方向に応じて自動的にパディングを使用します。

于 2013-06-19T02:36:00.503 に答える
12

この投稿に出くわした誰かが答えを見つけることができるように、私はこれを答えとして投稿しています。

テキストのみにパディングを設定する直接的な方法はありませんが、全体にTextViewのパディングを設定し、ドローアブルに負のパディングを設定することができます。

于 2012-10-05T15:33:27.677 に答える
9

Gioの推測を改善します。これはおそらく古いAPI/SDK用です...

TL:DR-android:drawablePadding画像とテキストの間の距離を増やすために適用するだけです。

説明: とoriginalandroid:drawablePaddingの間にパディングを適用するようになりました。この場合、テキストを含むTextViewです。CompoundDrawableView

android:padding 修飾子は、すべての化合物を含むグループ全体に適用されるようになりました。

ネガティブポジティブハックを行うことはもはや機能しないようです。

したがって、ドローアブルの位置(drawableTop / Left / ...)に応じて、パディングはドローアブルのすぐ隣、つまり2つの要素の間で反対方向に適用されます。たとえば、左側に配置されたドローアブルに適用すると、TextViewの左側に(少なくともパディングに関して)drawablePadding="10dp"個人を設定するのと同様の効果があります。ImageViewpaddingRight="10dp"

于 2013-10-24T00:59:41.290 に答える