我希望在EditText中有一个Button或一个可点击的View,以便我可以点击它执行一些操作。由于Marcosbeirigo this answer.,我能够将一个drawable放在我的EditText中但是,现在我想让它可点击以便我可以对它执行一些操作。我知道这是可能的,因为HTC在他们的股票短信应用程序中使用EditText内的按钮,如下图所示 -
在我的情况下,按钮将位于任何位置,也可以位于中心。但最重要的是我如何在EditText中添加一个按钮?
答案 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事件。你可以在这里找到一些解决方案
答案 3 :(得分:0)
editText中没有按钮它只是一个带有白色背景的editText,因此您不会看到它的边距和简单的布局排列。
答案 4 :(得分:0)
唯一可行的解决方案是使用RelativeLayout,允许您将视图叠加到其他人。其他布局不允许你做这些事情。
我也找到了这个教程:http://developer.android.com/resources/articles/layout-tricks-merge.html也许它可以帮助你:)
答案 5 :(得分:0)
使用此代码可能有效。
<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>