我的代码中有一个PopupMenu视图,我希望EditText视图成为其中一个选项,这样用户就可以从选择现有文件的同一菜单中创建一个新文件。根据这篇文章: Android : Display an EditText in a menu 无法将EditText视图用作PopupMenu项。
我的问题是,是否有一种解决方法是无法将EditText声明为菜单项?也许,创建一个ListView并将Popupmenu和EditText视图声明为子视图?
以下是我尝试的代码,但正如预测的那样,它生成了一个没有可见的EditText字段的Popupmenu。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<item android:id="@+id/new_track"
android:title="+ create new track"/>
<EditText
android:id="@+id/search"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/search_hint"
android:inputType="textCapWords"
android:imeOptions="actionSend" />
</menu>
我建议的代码看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<ListView
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<item android:id="@+id/new_track"
android:title="+ create new track"/>
</menu>
<EditText
android:id="@+id/search"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/search_hint"
android:inputType="textCapWords"
android:imeOptions="actionSend" />
</ListView>
实现这一目标的最佳方法是什么?
答案 0 :(得分:0)
我认为你需要创建RelativeLayout
,然后设置每个元素需要进入队列的位置。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<item android:id="@+id/new_track"
android:title="+ create new track"/>
<RelativeLayout>
<EditText
android:id="@+id/search"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/search_hint"
android:inputType="textCapWords"
android:imeOptions="actionSend"
android:layout_alignParentBottom="true"/> //this line put edittext at bottom
</RelativeLayout>
</menu>
编辑:经过多次搜索此特定问题后,我只能说:不,你不能这样做。您只能创建一个调用特定片段的菜单item
,或者将工具栏更改为SearchView(如隐藏TextView
,显示EditText和Button
)。
对于第一个选项,请查看:Search item on action bar android
对于第二个选项:http://blog.rhesoft.com/2015/03/30/tutorial-android-actionbar-with-material-design-and-search-field/