如何创建简化的搜索界面?

时间:2015-07-14 13:14:31

标签: android android-custom-view searchview

我想在ListView上实现搜索,它应该是这样的(Google Keep标签界面):

  • 没有删除按钮
  • 没有搜索图标
  • 没有设置按钮
  • 仅限后退按钮

enter image description here enter image description here

我应该吗?:

  1. 使用EditText实现布局,将其附加到Action Bar并从ActionBar中删除任何其他内容
  2. 创建自定义SearchView(如果是,如何访问SearchView布局?)
  3. 以某种方式删除Action Bar并在主布局中创建EditText

2 个答案:

答案 0 :(得分:1)

我认为最好删除操作栏并添加工具栏。您可以将EditText添加到工具栏。所有搜索逻辑都可以在edittext TextChangedListener上完成。

删除操作栏可以通过更改到styles.xml中的NoActionBar来完成

工具栏提供了很多自定义空间

答案 1 :(得分:0)

首先为操作栏制作自定义布局(为简单起见,仅限EditText):

custom_action_bar_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
<EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/editText" android:inputType="text"/>
</LinearLayout>

添加到Activity

// hide icon
getActionBar().setDisplayShowHomeEnabled(false);
// hide title
getActionBar().setDisplayShowTitleEnabled(false);
// set custom layout
getActionBar().setCustomView(R.layout.custom_action_bar_layout);
// enable custom view to be shown
getActionBar().setDisplayShowCustomEnabled(true);
// access to custon veiw element
EditText text = (EditText) findViewById(R.id.editText);