Android:如何在TextView的左侧添加Icon

use*_*555 29 android textview

我想在textView的左侧添加图标.我可以这样做吗?

小智 65

您可以使用:

android:drawableLeft="@drawable/ic_launcher"
Run Code Online (Sandbox Code Playgroud)

你也可以把之间的填充drawabletextview通过

android:drawablePadding="2dp"
Run Code Online (Sandbox Code Playgroud)

如果您始终希望在文本之前显示图标,则建议使用,drawableStart而不是drawableLeft因为从左到右不读取多种语言.

  • 对于 API 17 及更高版本,将 android:drawableLeft 替换为 android:drawableStart 以支持 RTL (3认同)
  • 通过“drawableLeft”添加图标时如何更改图标的颜色? (2认同)

Rob*_*yal 43

您可以使用此代码执行此操作.

TextView textView = (TextView) findViewById(R.id.myTxtView);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.icon, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

  • @AlexeyShevelyov要使文本居中,可以在布局文件中使用`android:gravity ="center_vertical"`或在Java文件中使用`textView.setGravity(Gravity.CENTER_VERTICAL);`. (3认同)
  • 并添加漂亮的填充:`textView.setCompoundDrawablePadding(context.getResources().getDimensionPixelOffset(R.dimen.small_padding)` where R.dimen.small_padding - 16dp (3认同)

Emi*_*Adz 6

您可以在 XML 文件中使用它:

android:drawableLeft
Run Code Online (Sandbox Code Playgroud)

对于您TextView并指定要在其左侧显示的可绘制对象。