android - 如何结合place autoComplete Fragment和navigation drawer

标签 android android-fragments navigation-drawer placeautocompletefragment

我有一个带有抽屉导航和放置自动完成 fragment 的 Android 应用程序。这是我当前的用户界面

当前用户界面

现在我可以通过从屏幕左边缘滑动手指来显示抽屉导航。但是为了用户体验,我想在搜索栏中添加一个菜单按钮。

我希望它成为官方的谷歌地图应用程序,其中包含一个地点自动完成 fragment 和一个菜单按钮。另外,我想用搜索图标替换麦克风图标。

谷歌地图用户界面

目前,我已使用以下代码将 searchIcon 替换为菜单图标

PlaceAutocompleteFragment 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.如何将搜索图标添加到搜索栏的右侧。(即如何为放置自动完成 fragment 编写自定义 UI)

2.如何通过单击菜单按钮显示抽屉导航。我应该在 onClick 方法中包含什么?

非常感谢

最佳答案

这是一个迟到的答案,但也许对其他人有帮助

// 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()
         }

关于android - 如何结合place autoComplete Fragment和navigation drawer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847757/

相关文章:

android - 如何使用设计支持库将页脚添加到 Android 中的抽屉导航?

android - 如何使用抽屉导航根据 fragment 更改菜单

android picasso 清除缓存

android - 为什么通过相机 Intent 捕获图像后图像会旋转?

java - Android 显示来自相互链接表的 PHP 的数据

单击 fragment 中的按钮时,Android 应用程序崩溃

android - 布局可见性更改+特定流程后微调器值消失

android - Phonegap 应用程序在后台运行?

android-fragments - 获取房间数据库提供的 "Refresh"LiveData 的最佳方法

android - 如何以编程方式将组添加到抽屉导航