Android 可点击 TextView,带有提示和图像,用于启动搜索对话框并显示所选结果

2023-12-14

我正在寻找一个示例,该示例展示了如何实现可单击的文本视图,该文本视图启动 Android 默认搜索对话框并显示选定的结果行。

它应该与 Android 上的 Google 地图操作栏中的搜索字段具有相同的行为和设计(例如,左侧的放大镜图标、如果文本视图为空则显示“搜索”提示、单击可启动由可搜索定义的搜索对话框)入口):


那是定制的EditText与复合绘图

public class SearchEditText extends EditText {

    private boolean mMagnifyingGlassShown = true;
    private Drawable mMagnifyingGlass;

    public SearchEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
        mMagnifyingGlass = getCompoundDrawables()[0];
    }

    /**
     * Conditionally shows a magnifying glass icon on the left side of the text field
     * when the text it empty.
     */
    @Override
    public boolean onPreDraw() {
        boolean emptyText = TextUtils.isEmpty(getText());
        if (mMagnifyingGlassShown != emptyText) {
            mMagnifyingGlassShown = emptyText;
            if (mMagnifyingGlassShown) {
                setCompoundDrawables(mMagnifyingGlass, null, null, null);
            } else {
                setCompoundDrawables(null, null, null, null);
            }
            return false;
        }
        return super.onPreDraw();
    }

And xml

<view
                class="com.tr.search.SearchEditText"
                android:id="@+id/search_src_text"
                android:layout_height="wrap_content"
                android:layout_width="0dip"
                android:layout_weight="1.0"
                android:singleLine="true"
                android:ellipsize="end"
                android:hint="@string/search_bar_hint"
                android:drawableLeft="@drawable/magnifying_glass"
                android:freezesText="true"
            />

Result enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 可点击 TextView,带有提示和图像,用于启动搜索对话框并显示所选结果 的相关文章

随机推荐