我在工具栏中遇到SearchView
的奇怪问题。
我想将CoordinatorLayout
用于我的布局,所以最近我将根布局从LinearLayout
更改为CoordinatorLayout
。一切都很好,除了SearchView
我在Toolbar
使用的行为在点击搜索图标后很奇怪。
使用LinearLayout
使用CoordinatorLayout
XML代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_for_home_activity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/appcolor">
<ProgressBar
android:id="@+id/toolbar_progress_bar"
style="@style/AppTheme"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="right"
android:indeterminateTint="@color/white"
android:indeterminateTintMode="src_in"
android:visibility="gone" />
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tablayout_for_home_ativity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/appcolor"
app:tabBackground="?attr/selectableItemBackground"
app:tabGravity="fill"
app:tabIndicatorColor="@color/white"
app:tabMaxWidth="0dp"
app:tabMode="fixed"
app:tabSelectedTextColor="@color/white"
app:tabTextColor="@color/lightblue" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager_for_home_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/floatingbutton_for_home_fragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/activity_horizontal_margin"
android:src="@drawable/ic_person_add_white_24dp"
app:backgroundTint="@color/appcolor"
app:fabSize="normal"
app:layout_behavior="com.ficean.android.ficean.ScrollingFABBehavior" />
</android.support.design.widget.CoordinatorLayout>
在上面的代码中,如果我将Coordinator布局更改为LinearLayout,则SearchView显示正常。如果我使用Coordinator布局,searchicon和edittext都会消失。但键盘正在打开,我仍然可以搜索。问题是搜索图标,编辑文本没有显示。
菜单代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title="Search"
android:id="@+id/search_on_activity_toolbar"
android:orderInCategory="100"
android:icon="@drawable/ic_search_white_24dp"
app:showAsAction="collapseActionView|always"
app:actionViewClass="android.support.v7.widget.SearchView"
/>
</menu>