如何将地方自动完成片段和导航抽屉结合起来

问题描述 投票:3回答:1

我有一个安卓应用,有导航抽屉和自动完成片段。以下是我目前的UI

当前UI

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

我希望它是官方的谷歌地图应用,其中有一个地方自动完成片段和一个菜单按钮。另外,我想用搜索图标代替麦克风图标。

谷歌地图界面

目前,我已经用下面的代码将 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.如何在搜索栏右侧增加一个搜索图标.(即如何写一个自定义UI来放置AutoComplete片段)

2.如何通过点击菜单按钮来显示导航抽屉。在onClick方法中应该包含哪些内容?

非常感谢

android android-fragments navigation-drawer placeautocompletefragment
1个回答
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()
         }
© www.soinside.com 2019 - 2024. All rights reserved.