在 EditText 中居中可绘制对象和文本
Center Drawable and Text in EditText
我想在我的 EditText 中使可绘制对象和文本居中。文本居中但可绘制对象不是。我想要这样的东西:
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 中输入内容时,如果文本很长,drawable 应自行向左移动。
而不是
android:drawableLeft="@drawable/lol2"
尝试使用
android:drawableStart="@drawable/lol2"
你可以这样做
<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>
基本上,重力属性用于应用布局内容对齐的更改,因此您可以将重力置于中心以将内容居中对齐,将 center_vertical 置于左侧以将内容对齐,并将重力置于 center_horizontal 将内容置于水平居中。即
android:gravity="center"
这对我有用:
<EditText
android:id="@+id/searchET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="75dp"
android:paddingEnd="75dp"
android:inputType="text"
android:singleLine="true"
android:gravity="center"
android:hint=" Username"
android:drawableStart="@drawable/your_icon"
android:background="@android:drawable/editbox_background"/>
这里的关键是您 wrap_content 宽度,但是对齐文本,根据需要将视图居中,然后在编辑文本的每一端添加填充。
这会将可绘制对象推到文本的开头,但仍可让您扩展编辑文本背景。
我想在我的 EditText 中使可绘制对象和文本居中。文本居中但可绘制对象不是。我想要这样的东西: 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 中输入内容时,如果文本很长,drawable 应自行向左移动。
而不是
android:drawableLeft="@drawable/lol2"
尝试使用
android:drawableStart="@drawable/lol2"
你可以这样做
<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>
基本上,重力属性用于应用布局内容对齐的更改,因此您可以将重力置于中心以将内容居中对齐,将 center_vertical 置于左侧以将内容对齐,并将重力置于 center_horizontal 将内容置于水平居中。即
android:gravity="center"
这对我有用:
<EditText
android:id="@+id/searchET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingStart="75dp"
android:paddingEnd="75dp"
android:inputType="text"
android:singleLine="true"
android:gravity="center"
android:hint=" Username"
android:drawableStart="@drawable/your_icon"
android:background="@android:drawable/editbox_background"/>
这里的关键是您 wrap_content 宽度,但是对齐文本,根据需要将视图居中,然后在编辑文本的每一端添加填充。
这会将可绘制对象推到文本的开头,但仍可让您扩展编辑文本背景。