EditText的setCompoundDrawables用法

本文介绍如何在Android应用中为EditText控件设置左侧图标,包括通过setCompoundDrawables方法及使用LinearLayout包裹ImageView和EditText两种方法,并提供具体实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在EditText的左侧,添加上用户头像,或者密码的标识.

1.布局文件

 <EditText
        android:id="@+id/username"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:layout_marginTop="30dip"
        android:background="@drawable/txtborder"
        android:ellipsize="end"
        android:gravity="center_vertical"
        android:hint="请输入用户名"
        android:maxLength="30"
        android:paddingRight="2dp"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColorHighlight="#7e4d84" />


2.在代码中去设置setComnpoundDrawables

mIconPerson=getResources().getDrawable(R.drawable.txt_person_icon);
		mIconPerson.setBounds(5, 1, 60, 50);

		username=(EditText)findViewById(R.id.username);
		username.setCompoundDrawables(mIconPerson, null, null, null);


3.输入框EditText的边框设置

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <!--  <solid android:color="#EEEEEE" /> 这里是背景的颜色-->
   
   <solid android:color="#ffffff" />
   <!-- 这里是边框的颜色和宽度 -->
    <stroke android:width="8dp" android:color="#ffffff" />

    <corners android:radius="2dp" />

    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>


这样就是实现了在输入框内的左侧的图片.


思路二:

用LinearLayout 包裹一个imageView和一个EditText,这样也能实现上述效果.

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_marginTop="30dp"
        android:background="@drawable/txtborder"
        android:gravity="center|left"
        android:orientation="horizontal" >

        <ImageView
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:layout_marginLeft="10dp"
            android:background="@drawable/txt_person_icon" />

        <EditText
            android:layout_width="fill_parent"
            android:layout_height="45dip"
            android:layout_gravity="center"
            android:ellipsize="end"
            android:paddingRight="2dp"
            android:password="true"
            android:background = "@null"
            android:singleLine="true" />
    </LinearLayout>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值