将TextView的文本相对于其drawableLeft图像垂直居中

我有这个组件:

 

drawableLeft属性中的图像大于文本的字体,因此我希望文本相对于图像垂直居中。 我怎么能得到这个效果?

Solutions Collecting From Web of "将TextView的文本相对于其drawableLeft图像垂直居中"

你想要“重力”注意这不要与布局重力混淆,布局重力移动整个文本视图,而重力移动文本视图中的文本。

  

除了设置重力之外,这还可以通过减少textview顶部和底部的填充来帮助在某些情况下进行对齐,这可能是不相等的:

 android:includeFontPadding="false" 

如果您不关心文本重音,只需尝试android:includeFontPadding="false" 。这将删除TextView额外顶部和底部填充。 至于android:gravity="center_vertical" ,它对我的​​代码没有影响。

您应该将DrawableTextView放在RelativeLayout ,并在TextView使用layout_alignBaseline属性。

你也可以在LinearLayout放置两个项目, DrawableTextViewhorizontal方向和layout_height="wrap_content"并在TextView上使用layout_gravity="center_vertical"