2017-02-27 59 views
1

是否可以使用可绘制元素在其背景上添加填充到TextView中?或者我需要使用Draw 9-patch添加填充到带有可绘制背景的textView

<TextView 
    android:layout_width="wrap_content" 
    android:layout_gravity="bottom|left" 
    android:layout_marginLeft="5dp" 
    android:layout_height="85dp" 
    android:background="@drawable/text_background" 
    android:id="@+id/counter" 
    android:textColor="@color/white" 
    android:textSize="12sp" 
    android:textStyle="bold" 
    android:gravity="center" 
    android:paddingLeft="2dp" 
    android:paddingRight="2dp" 
/> 

此填充设置不起作用。对于3-4位数字,背景可以正确显示,但是应该调整(对于5/6位数字),它保持不变。
更新 - 添加图像
enter image description here

+0

'android:drawablePadding'将在文本和可绘制文件之间创建一个填充间隙 –

+0

@Mohit Kacha不幸的是,这个参数不起作用 – Expiredmind

+0

你使用的是relativelayout?linearlayout? –

回答

0

如果要添加绘制作为背景,然后drawablePadding不工作。

你只需要给你适当的填充TextView,以便它可以处理你的大部分用例。

<TextView 
    android:id="@+id/txt_bankid_login" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/layout_user_detail" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="@dimen/spacing_huge" 
    android:background="@drawable/textview_selector" 
    android:clickable="true" 
    android:textAllCaps="true" 
    android:padding="@dimen/spacing_small" 
    android:text="@string/login_bankid" 
    android:textColor="@color/app_background_color" 
    android:textSize="@dimen/font_normal" /> 

切勿为高度使用静态高度或宽度来布局布局。它会在不同的屏幕上产生问题,您将面临文本截取。

+0

我没有看到你的例子中的差异。设置textview的填充对背景可绘制尺寸没有任何影响。 – Expiredmind

+0

是你的背景可绘制的XML或一些图像?无论您的背景是可绘制的,您的布局调整为文本大小加上填充。而你的背景可绘制将覆盖整个布局大小。 –

+0

所以我需要将我的text_background.png添加到选择器XML中而不添加任何参数,然后在TextView中将背景设置为xml文件,然后填充将正确触发? – Expiredmind