我有一个带有导航抽屉的Android应用程序并放置了自动完成片段。这是我目前的用户界面
当前用户界面
现在我可以通过从屏幕左边缘轻扫手指来显示导航抽屉。但是为了用户体验,我想在搜索栏中添加一个菜单按钮。
我希望它是官方的谷歌地图应用程序,里面有自动填充片段和菜单按钮。另外,我想用搜索图标替换麦克风图标。
Google Map ui
目前,我已使用以下代码
替换了菜单图标中的searchIconPlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
View childView=(LinearLayout) autocompleteFragment.getView();
ImageView searchIcon=(ImageView) childView.findViewById(R.id.place_autocomplete_search_button);
searchIcon.setImageDrawable(getResources().getDrawable(R.drawable.ic_menu_black_24px));
searchIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//TODO: how to reveal the navigation drawer
}
});
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO:Get info about the selected place.
Log.i("AUTO", "Place: " + place.getName());
}
@Override
public void onError(Status status) {
// TODO:Handle the error.
Log.i("AUTO", "An error occurred: " + status);
}
});
现在我的问题是:
1.如何将searchIcon添加到搜索栏的右侧。(即如何为场所自动完成片段编写自定义UI)
2.单击菜单按钮以显示导航抽屉。我应该在onClick方法中包含哪些内容?
非常感谢
答案 0 :(得分:0)
这是一个很晚的答案,但也许会对其他人有帮助
// set icon as hamburger icon
val imageView: ImageView? = autocompleteFragment.view?.findViewById(
com.google.android.libraries.places.R.id.places_autocomplete_search_button
)
imageView?.let{
it.setImageDrawable(resources.getDrawable(R.drawable.hamburger_icon))
imageView.setOnClickListener{
Toast.makeText(activity,"sdds",Toast.LENGTH_LONG).show()
}