我想在EditText中创建drawable和text center。文本居中,但可绘制不是。我想要这样的东西: http://i.imgur.com/cacxR2C.jpg?1
请帮忙。这就是我到目前为止所做的事情
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:gravity="center_horizontal"
android:drawableLeft="@drawable/lol2"
/>
当用户在EditText中输入内容时,如果文本是lenghty,则drawable应该自己向左移动。
答案 0 :(得分:11)
你可以做这样的事情
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@android:drawable/editbox_background"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Username"
android:background="@null"
android:gravity="center"
android:drawableLeft="@drawable/ic_launcher"
/>
</RelativeLayout>
答案 1 :(得分:2)
这对我有用:
{{1}}
这里的踢球者是你对宽度的wrap_content,然后对齐文本,然后按照你想要的方式居中,然后在编辑文本的每一端添加填充。
这会将drawable推到文本的开头,但仍然可以扩展您的编辑文本背景。
答案 2 :(得分:0)
而不是
机器人:drawableLeft =&#34; @可绘制/ lol2&#34;
尝试使用
机器人:drawableStart =&#34; @可绘制/ lol2&#34;
答案 3 :(得分:0)
基本上使用重力属性来应用对齐布局内容的更改,以便您可以将重力放在中心以对齐中心和center_vertical中的内容以将内容对齐到左侧,将重力对齐到center_horizontal以将内容放在水平中心。即
android:gravity="center"