如何在EditText上添加图像

siv*_*raj 49 android image android-edittext

我想动态添加图片EditText.可能吗?

如果有人知道请为此提供示例代码.

Cas*_*eyB 64

如果是这样的话:

EditCheck

是你在说什么,那么你只需要可以设置Drawable{Right | Left | Top | Bottom}属性的XML,或者调用相应的java命令.

EditText text = (EditText)findViewById(R.id.text);
text.setCompoundDrawables(null, null, getResources().getDrawable(R.drawable.check_box), null);
Run Code Online (Sandbox Code Playgroud)


Ram*_*ula 60

在此输入图像描述

使用框架布局很容易克服这个问题.另一个优点是你可以为按钮提供点击事件.如果你使用setCompoundDrawables设置图标,你就不能给出点击事件.我已经在我的项目中实现了搜索栏有删除和搜索图标.

<FrameLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <EditText
                android:id="@+id/search"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/search_bar"
                android:drawablePadding="8dp"
                android:paddingLeft="30dp"
                android:paddingRight="10dp"
                android:inputType="text"
                android:maxLines="1">

                <requestFocus />
            </EditText>

            <Button
                android:id="@+id/searchBtn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"
                android:layout_margin="10dp"
                android:background="@drawable/icon_magnify" />

            <Button
                android:id="@+id/delete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right|center_vertical"
                android:layout_margin="8dp"
                android:background="@drawable/icon_remove" />
        </FrameLayout>
Run Code Online (Sandbox Code Playgroud)


小智 48

使用android:drawableRightandroid:drawableLeft (取决于您喜欢对齐图像的位置)

<EditText 
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:id="@+id/searchedTxt"
        android:width="200dp"
        android:layout_alignParentRight="true"
        android:drawableRight="@android:drawable/ic_menu_search"
        android:drawablePadding="@dimen/dimen_10dp"
        />  
Run Code Online (Sandbox Code Playgroud)

  • 这个家伙值得一枚奖牌。多谢,伙计! (2认同)

Bud*_*ril 27

你也可以试试这个

    SpannableString ss = new SpannableString("abc\n");
    Drawable d = img.getDrawable();
    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
    ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
    ss.setSpan(span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    editT.setText(ss);
Run Code Online (Sandbox Code Playgroud)


Mih*_*ala 16

测试图像

您可以使用setCompoundDrawablesWithIntrinsicBounds(int left,int top,int right,int bottom).

    EditText text = (EditText) findViewById(R.id.edtTest);
    text.setText("Test");
    text.setCompoundDrawablesWithIntrinsicBounds(null, null,
                       getResources().getDrawable(R.drawable.myDrawable, null), null);
Run Code Online (Sandbox Code Playgroud)


sam*_*sou 7

您可以将图像添加到您的EditText通过android:background="@drawable/img".

如果要使用九个补丁修​​改样式,或者如果要在EditText考虑使用的左侧添加一个小图像android:drawableRight="@drawable/icon".