Android中SearchView的OnClick被屏蔽的解决办法

 
 

写毕设时想模仿网易严选的SearchView点击事件:首页点击后跳转到另一个Activity进行搜索,中间使用共享元素动画(严选的首页可能不是SearchView)

但是发现无论给SearchView设置OnClickListener还是OnTouchListener都无效,甚至把SearchView的源码复制过来改但是都没奏效。

最后用了一个骚办法:加一层View,设置View的点击事件。其实第一个页面跳转

<FrameLayout
                   android:layout_width="match_parent"
                   android:layout_height="match_parent">

                   <android.support.v7.widget.SearchView
                       android:focusable="false"
                       android:id="@+id/searchview_home"
                       android:layout_width="match_parent"
                       android:layout_height="match_parent"
                       android:layout_marginStart="10dp"
                       app:iconifiedByDefault="false"
                       app:queryHint="搜索好物" />
                   <View
                       android:onClick="@{fragment.startSearchArtworkActivity}"
                       android:layout_width="match_parent"
                       android:layout_height="match_parent"/>
               </FrameLayout>
  public void startSearchArtworkActivity(View view){
        Intent intent = new Intent(getActivity(), SearchArtworkActivity.class);
        ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                new Pair<View, String>(binding.searchviewHome, getString(R.string.transition_shared_pic)));
        // 这里指定了共享的视图元素
        ActivityCompat.startActivity(getActivity(), intent, options.toBundle());
    }


猜你喜欢

转载自blog.csdn.net/qq_18757521/article/details/79508921