Android 是否可以更改EditText内图标的大小
我正在创建一个带有用户名和密码字段的登录窗口,我想在每个窗口中放置图标。当我将图标添加到EditText字段时,我无法更改图标的大小 图标位于EditText字段内,因为我想在聚焦时更改EditText背景 我试图将图标和EditText视图放在LinearLayout中,但当EditText处于焦点时,我无法更改布局背景 我的编辑文本代码:Android 是否可以更改EditText内图标的大小,android,android-layout,android-studio,Android,Android Layout,Android Studio,我正在创建一个带有用户名和密码字段的登录窗口,我想在每个窗口中放置图标。当我将图标添加到EditText字段时,我无法更改图标的大小 图标位于EditText字段内,因为我想在聚焦时更改EditText背景 我试图将图标和EditText视图放在LinearLayout中,但当EditText处于焦点时,我无法更改布局背景 我的编辑文本代码: 编辑文本视觉: 您可以更改图标并在焦点上使用较小的图标。这是你应该使用的方法 将可绘图项(如果有)设置为显示在文本的左侧、上方、右侧和下方。如果您不
编辑文本视觉:
您可以更改图标并在焦点上使用较小的图标。这是你应该使用的方法
将可绘图项(如果有)设置为显示在文本的左侧、上方、右侧和下方。如果您不想在此处绘制图形,请使用0。可绘制边界将设置为其固有边界
现在要添加填充,可以使用以下命令
设置复合绘图和文本之间的填充大小
相关的XML属性:
android:drawablePadding
更多信息和信息。您可能会发现还有许多其他有趣的方法。如果您想用xml解决这个问题,下面是一些示例代码,您可以在其中操作图像大小/填充:
<!-- USERNAME INPUT -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edit_text_selector">
<!-- INPUT -->
<EditText
android:id="@+id/username_input"
android:layout_marginLeft="-10dp"
android:layout_toRightOf="@+id/username_icon"
android:text=""
android:hint="Username"
android:padding="10dp"
android:background=""
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- ICON -->
<ImageView
android:padding="3dp"
android:id="@+id/username_icon"
android:src="@drawable/perm_group_personal_info"
android:layout_width="40dp"
android:layout_height="40dp" />
</RelativeLayout>
下面是它的样子:
比java设置更好的方法是将其设置在一个分层的可绘制文件中,如下所示
Layered list drawable is as under :
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
>
<shape>
<solid android:color="@color/bg_row_drop_completed"/>
<size android:width="96dp"
/>
<padding android:top="-15dp"
android:bottom="-15dp"/>
<corners android:topLeftRadius="@dimen/btn_add_bg_radius_purple" android:topRightRadius="@dimen/btn_add_bg_radius_purple"/>
</shape>
</item>
<item
>
<bitmap android:src="@drawable/_ic_arrow_drop_up_normal" android:gravity="center_vertical"
></bitmap>
</item>
</layer-list>
可绘制的分层列表如下所示:
查看此链接:@Rohit5k2我听起来很愚蠢,但我没有想到,谢谢。还有一个问题,我找不到为图像添加填充或边距的方法?我试着用谷歌搜索了几个小时,但没有有用的信息。@JonasPutis:请检查。@Rohit5k2您的回答很有帮助,谢谢!
android:drawablePadding
<!-- USERNAME INPUT -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edit_text_selector">
<!-- INPUT -->
<EditText
android:id="@+id/username_input"
android:layout_marginLeft="-10dp"
android:layout_toRightOf="@+id/username_icon"
android:text=""
android:hint="Username"
android:padding="10dp"
android:background=""
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- ICON -->
<ImageView
android:padding="3dp"
android:id="@+id/username_icon"
android:src="@drawable/perm_group_personal_info"
android:layout_width="40dp"
android:layout_height="40dp" />
</RelativeLayout>
Layered list drawable is as under :
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
>
<shape>
<solid android:color="@color/bg_row_drop_completed"/>
<size android:width="96dp"
/>
<padding android:top="-15dp"
android:bottom="-15dp"/>
<corners android:topLeftRadius="@dimen/btn_add_bg_radius_purple" android:topRightRadius="@dimen/btn_add_bg_radius_purple"/>
</shape>
</item>
<item
>
<bitmap android:src="@drawable/_ic_arrow_drop_up_normal" android:gravity="center_vertical"
></bitmap>
</item>
</layer-list>