android中EditText内的可点击按钮(或任何视图)

时间:2012-05-31 07:24:36

标签: android button android-edittext

我希望在EditText中有一个Button或一个可点击的View,以便我可以点击它执行一些操作。由于Marcosbeirigo this answer.,我能够将一个drawable放在我的EditText中但是,现在我想让它可点击以便我可以对它执行一些操作。我知道这是可能的,因为HTC在他们的股票短信应用程序中使用EditText内的按钮,如下图所示 -

Send button in EditText

在我的情况下,按钮将位于任何位置,也可以位于中心。但最重要的是我如何在EditText中添加一个按钮?

6 个答案:

答案 0 :(得分:11)

使用RelativeLayout。发送和附加按钮是简单的Android按钮,32/160是TextView。将按钮和textview放在EditText对象上,使用布局布局并为EditText对象设置一些正确的填充,以使其中的文本不会出现在按钮下。

你不需要任何drawable并且听取android按钮的click事件不再是一个问题。 它绝对正确

答案 1 :(得分:5)

使用它,它对我有用 -

 <RelativeLayout android:layout_width="match_parent"
     android:layout_height="wrap_content">

            <EditText android:id="@+id/id_search_EditText"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:paddingRight="40dp"
                android:hint="Enter your feelings and connect" />

        <ImageButton android:id="@+id/id_search_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/id_search_EditText"
            android:layout_alignBottom="@+id/id_search_EditText"
            android:layout_alignRight="@+id/id_search_EditText"
            android:background="@drawable/ic_launcher"/>

      </RelativeLayout>

答案 2 :(得分:2)

我认为您尝试搜索复合drawable的set click事件。你可以在这里找到一些解决方案

handling-click-events-on-a-drawable-within-an-edittext

答案 3 :(得分:0)

editText中没有按钮它只是一个带有白色背景的editText,因此您不会看到它的边距和简单的布局排列。

答案 4 :(得分:0)

唯一可行的解​​决方案是使用RelativeLayout,允许您将视图叠加到其他人。其他布局不允许你做这些事情。

我也找到了这个教程:http://developer.android.com/resources/articles/layout-tricks-merge.html也许它可以帮助你:)

答案 5 :(得分:0)

output

使用此代码可能有效。

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

    <RelativeLayout
        android:id="@+id/REFReLayTellFriend"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        android:paddingBottom="5dp"
        android:paddingTop="5dp">

        <EditText
            android:id="@+id/txtSearch"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/editext_rounded"
            android:drawableLeft="@android:drawable/ic_menu_search"
            android:gravity="start"
            android:hint="Search"
            android:singleLine="true"/>

        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignRight="@+id/txtSearch"
            android:background="@drawable/ic_action_content_filter_list"/>

    </RelativeLayout>

</LinearLayout>