如何放置编辑文本的内部按钮(How to place button inside of edit t

2019-07-03 11:50发布

我想放置的EditText内的图像按钮,但我没有想法,请告诉我该怎么做,从而如图所示。 谢谢

Answer 1:

如果你不想点击该图片,然后你可以使用drawableRight对财产的EditText ..

android:drawableRight="@drawable/icon"

如果你想单击,然后使用下面的代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter search key" />

    <ImageButton
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/search"
        android:layout_centerVertical="true"
        android:layout_margin="5dp"
        android:text="Button"/>

</RelativeLayout>


Answer 2:

如果你想这样的布局,也形象点击,那么你可以做这样的事情

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true" >

    </EditText>
     <ImageView
        android:id="@+id/imageView1"
        android:padding="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/editText1"
        android:layout_alignBottom="@+id/editText1"
        android:layout_alignRight="@+id/editText1"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

输出:



Answer 3:

在材料,还有的EditText根据该下划线。 在大多数应用程序的图标出现的下划线里面

为此,只需使用填充

android:paddingEnd = "@dimen/my_button_size"

不要忘了分4.2版本paddingRight。

<RelativeLayout ....>
   ...
   <EditText
   ...
   android:id="@+id/my_text_edit"
   android:textAlignment = "viewStart"
   android:paddingEnd = "@dimen/my_button_size"
   android:paddingRight = "@dimen/my_button_size"
   .../>

   <ImageButton 
   ....
   android:layout_width="@dimen/my_button_size" 
   android:layout_height="@dimen/my_button_size"
   android:layout_alignEnd="@id/my_text_edit"
   android:layout_alignRight="@id/my_text_edit"/>
   ...
</RelativeLayout>

这将限制文本图像和图像不重叠的文本,但是长的文本可能。



Answer 4:

我的解决方案将适合所有屏幕尺寸没有editText去“后面” imageButton 。 这也采用了Android资源,所以你不需要提供自己的图标或字符串资源。 复制并粘贴这段代码,无论你想搜索栏:

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal">

   <EditText
        android:layout_margin="8dp"
        android:id="@+id/etSearch"
        android:hint="@android:string/search_go"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"/>

    <ImageView
        android:id="@+id/ivSearch"
        android:background="@color/transparent_black"
        android:padding="2dp"
        android:layout_width="wrap_content"
        android:layout_margin="8dp"
        android:src="@android:drawable/ic_menu_search"
        android:layout_height="wrap_content"
        tools:ignore="contentDescription" />

</LinearLayout>

Restult:



Answer 5:

您可以使用下面的代码:

android:drawableRight="@android:drawable/ic_menu_search"



Answer 6:

如何将其放置在这样的RelativeLayout的?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <!-- EditText for Search -->
    <EditText android:id="@+id/inputSearch"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:hint="Search whatever..."
            android:textSize="14dp"
            android:textStyle="italic"
            android:drawableLeft="@drawable/magnifyingglass"
            android:inputType="textVisiblePassword"
            android:theme="@style/EditTextColorCustom"/>

         <Button
            android:id="@+id/btn_clear"
            android:layout_width="14dp"
            android:layout_height="14dp"
            android:layout_marginTop="10dp"
            android:layout_alignRight="@+id/inputSearch"
            android:layout_marginRight="5dp"
            android:background="@drawable/xbutton"
            android:visibility="gone"/>
    </RelativeLayout>

另外这种方式you'll能够处理按钮的能见度代码(GONE /可见)。

希望能帮助到你。



Answer 7:

请将您的EditText线性布局(水平)的内部和下一个添加一个图像按钮到它(0填充)。 设置的EditText和ImageButton的背景颜色将融为一体。



Answer 8:

我不知道为什么要放置ImageButton来实现,这可以用简单的属性来完成EditText

机器人:drawableRight =“您绘制”

不能像对你的工作?



Answer 9:

还有可点击的化合物,可绘制解决方案。 它的工作非常好 - 我测试



Answer 10:

这是非常简单的,我觉得。 使用相对布局,你的父母布局。 放置EDITTEXT使用左,ImageButton的向右或者,

  • alignRight属性为的ImageButton
  • 通过指定布局重量的每个字段


Answer 11:

使用Android:drawableLeft财产上的EditText。

<EditText
    ...     
    android:drawableLeft="@drawable/my_icon" />


文章来源: How to place button inside of edit text