我正在尝试在Android上创建此搜索栏,其中固定了左侧的放大镜,搜索框中的背景是带有圆角的白色,左侧,后退按钮,右侧,搜索之间的空格盒子,右边是16dp。有什么更好的方法?
我尝试使用menu
和item
,但我并不幸运。
答案 0 :(得分:3)
Android有一个现成的搜索框,如果您导入android.widget.SearchView,则可以使用它。它具有您所需要的大多数(如果不是全部)功能,并且已经完成。您只需要将其添加到布局中即可。还有一些方法会在有人在“搜索”框中键入或单击放大镜时触发。您可以根据需要隐藏放大镜和/或X图标,或按示例显示它们。最好使用标准的Android SearchView,而不是编写自己的Android SearchView,因为那样,它将遵循每个用户已经熟悉的标准UI准则。
您可以通过在.xml布局文件中添加填充来调整间距。
答案 1 :(得分:0)
我找到的解决方案是将SearchView
放在toolbar
内:
<android.support.v7.widget.Toolbar
android:id="@+id/restaurant_search_menu_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/MYSTYLE"
app:contentInsetStartWithNavigation="0dp"
app:contentInsetStart="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:subtitleTextAppearance="@style/MYSTYLE.SubTitle.TextAppearance">
<SearchView
android:id="@+id/menu_search_view"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:imeOptions="actionDone"
android:closeIcon="@drawable/ic_dls_glyph_close"
android:searchIcon="@drawable/ic_dls_icon_search_filled"
android:background="@drawable/white_background_rounded"
android:iconifiedByDefault="false"
tools:queryHint="Search for a menu item"/>
</android.support.v7.widget.Toolbar>