我正在寻找一个示例,该示例展示了如何实现可单击的文本视图,该文本视图启动 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)