在 Android 应用中实现 Material Design 下的搜索条样式

Material Design 是一种由 Google 推出的设计语言,具有简洁、直观、美观的特点,已经成为现代应用程序设计的主流。搜索条是 Material Design 中常见的控件之一,本文将介绍如何在 Android 应用中实现 Material Design 下的搜索条样式。

1. 添加 Material Design 库

Android 应用中实现 Material Design 需要使用 Android Support Library 中的 design 库。可以在项目的 build.gradle 文件中添加以下依赖项:

------------ -
    -------------- -----------------------------------
-

2. 创建搜索布局

在布局文件中添加搜索条布局。搜索条通常包括一个文本框和一个搜索按钮。可以使用 TextInputLayout 和 TextInputEditText 来实现搜索框和标签的组合:

----------------------------------------------
    -----------------------------------
    ------------------------------------
    -------------------------------
    ------------------

    ------------------------------------------------
        -----------------------------------
        ------------------------------------
        ------------------------
        -------------------- --

------------------------------------------------

-------
    -----------------------------------
    ------------------------------------
    ----------------- --

3. 配置搜索条样式

为了实现 Material Design 下的搜索条样式,需要将 TextInputLayout 的样式设置为 Widget.Design.TextInputLayout,将 TextInputEditText 的样式设置为 Widget.Design.TextInputEditText。可以在 styles.xml 文件中定义样式:

------ --------------- -------------------------------------------
    ---- --------- ---- ----- ----- ---
    ----- ----------------------------------------------
    ----- ------------------------------------------------------
    ----- --------------------------------------------
    ----- --------------------------------------------------------------
    ----- ------------------------------------------------------------------
    ----- --------------------------------------------------------------
    ----- ----------------------------------------------------
    ----- ----------------------------------------------------
    ----- ----------------------------------------------------
    ----- --------------------------------------------------------------
--------

------ ---------------- -----------------------------------
    ----- ------------------------------------------------
    ----- ----------------------------------------------------
    ----- -------------------------------------------------------
    ----- -------------------------------------------------------
--------

------ ---------------- -----------------------------------
    ----- ------------------------------------------------
    ----- ----------------------------------------------------
--------

------ ------------------ ---------------------------------
    ----- ------------------------------------------------
    ----- ----------------------------------------------------
    ----- ---------------------------------------------------
    ----- -------------------------------------------------
--------

------ ----------------------- --------------------------------------
    ----- ---------------------------------------------
--------

------ ------------------------------- ---------------------------------------
    ----- --------------------------------------------------------
    ----- ------------------------------------------------------
    ----- -----------------------------------------------
    ----- --------------------------------------------------------------------------
    ----- --------------------------------------------------------------------
    ----- ------------------------------------------------------------------------
    ----- -----------------------------------------------------------------------------------------
    ----- ----------------------------------------
    ----- -----------------------------------------------------------------
    ----- ----------------------------------------------------
    ----- -------------------------------------------
--------

------ --------------------------------- -----------------------------------------
    ----- ------------------------------------------------
    ----- ----------------------------------------------------
    ----- --------------------------------
--------

4. 添加搜索功能

在搜索按钮的点击事件中添加搜索逻辑,例如从网络或本地数据库中获取数据。可以使用 AsyncTask 或 RxJava 等方式实现异步请求数据。

------ ------------ - ---------------------------------
----------------------------------- ---------------------- -
    ---------
    ------ ---- ------------ -- -
        ------ ------- - -------------------- ----------------------------------------------------------
        -- ----- ----
    -
---

示例代码

下面是完整的搜索布局和样式代码:

----- ------------- ------------------
-------------------------------------------- ----------------------------------------------------------
    ---------------------------------------------------
    -----------------------------------
    -------------------------------------

    ----------------------------------------------
        -------------------------------
        ---------------------------------------
        --------------------------
        ------------------------------------
        -------------------------------
        ------------------------------------------------------
        ---------------------------------------------
        ------------------------------------------

        ------------------------------------------------
            ----------------------------------
            -----------------------------------------
            -----------------------------------
            ------------------------------------
            -----------------
            ------------------------
            -------------------- --

    ------------------------------------------------

    -------
        -------------------------------
        -----------------------------------
        -----------------------------------
        ------------------------------------
        -----------------
        -----------------------------------------
        ----------------------------------------------------- --

----------------------------------------------

下面是完整的样式代码:

-----------
    ------ -----------------------------------
    ------ ---------------------------------------
    ------ ----------------------------------
    ------ --------------------------------
    ------ ------------------------------------
    ------ ---------------------------------
    ------ ---------------------------------------

    ------ ----------------------------------
    ------ --------------------------------
    ------ --------------------------------

    --------- -----------------------------------
------------

---------- -----------------------------------------------
    ---- ---- ----------- ------ ---
    ------ --------------- -------------------------------------------
        ---- --------- ---- ----- ----- ---
        ----- ----------------------------------------------
        ----- ------------------------------------------------------
        ----- --------------------------------------------
        ----- -------------------------------------------------------
        ----- -------------------------------------------------------------
        ----- --------------------------------------------------------------
        ----- ----------------------------------------------------
        ----- ----------------------------------------------------
        ----- ----------------------------------------------------
        ----- --------------------------------------------------------------
    --------

    ------ ---------------- -----------------------------------
        ----- ------------------------------------------------
        ----- ----------------------------------------------------
        ----- -------------------------------------------------------
        ----- -------------------------------------------------------
    --------

    ------ ---------------- -----------------------------------
        ----- ------------------------------------------------
        ----- ----------------------------------------------------
    --------

    ------ ------------------ ---------------------------------
        ----- ------------------------------------------------
        ----- ----------------------------------------------------
        ----- ---------------------------------------------------
        ----- -------------------------------------------------
    --------

    ------ ----------------------- --------------------------------------
        ----- ---------------------------------------------
    --------

    ------ ------------------------------- ---------------------------------------
        ----- --------------------------------------------------------
        ----- ------------------------------------------------------
        ----- -----------------------------------------------
        ----- --------------------------------------------------------------------------
        ----- --------------------------------------------------------------------
        ----- ------------------------------------------------------------------------
        ----- -----------------------------------------------------------------------------------------
        ----- ----------------------------------------
        ----- -----------------------------------------------------------------
        ----- ----------------------------------------------------
        ----- -------------------------------------------
    --------

    ------ --------------------------------- -----------------------------------------
        ----- ------------------------------------------------
        ----- ----------------------------------------------------
        ----- --------------------------------
    --------
------------

下面是完整的搜索逻辑代码:

------ ----- ------------ ------- ----------------- -

    ---------
    --------- ---- --------------- ------------------- -
        -----------------------------------
        ---------------------------------------

        ------ ------------ - ---------------------------------
        ----------------------------------- ---------------------- -
            ---------
            ------ ---- ------------ -- -
                ------ ------- - -------------------- ----------------------------------------------------------
                -- ----- ----
            -
        ---
    -
-

总结

本文介绍了如何在 Android 应用中实现 Material Design 下的搜索条样式。通过使用 TextInputLayout 和 TextInputEditText,以及设置样式,可以轻松地实现 Material Design 风格的搜索条。同时,本文还介绍了如何添加搜索逻辑,希望对 Android 开发者有所帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/663b8176d3423812e497f12e