Я пытаюсь создать эту панель поиска на Android - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь создать эту панель поиска на Android, где фиксированное увеличительное стекло слева, фон в окне поиска белый с закругленными углами, промежутки между левой стороной, кнопкой назад, правой стороной, поиск коробка, правая сторона 16дп. Какой подход лучше?

Я пытался использовать menu и item, но мне не повезло.

Ответы [ 2 ]

3 голосов
/ 02 мая 2019

Android имеет готовое окно поиска, которое можно использовать, если вы импортируете android.widget.SearchView.Он имеет большинство, если не все функции, которые вы просили, и это уже сделано.Вы просто должны добавить его в свой макет.Существуют также методы, которые запускаются всякий раз, когда кто-то вводит текст в поле поиска или щелкает увеличительное стекло.Вы можете скрыть увеличительное стекло и / или значки X, если хотите, или показать их, как в вашем примере.Для вас было бы лучше использовать стандартный Android SearchView, а не писать свой собственный, потому что таким образом он соответствует стандартным рекомендациям по пользовательскому интерфейсу, с которыми каждый пользователь уже знаком.

Интервал можно настроить с помощьюдобавление отступов в файл макета .xml.

0 голосов
/ 03 мая 2019

Решение, которое я нашел, было поместить 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...