SearchView放大焦点

时间:2015-09-01 12:55:40

标签: android android-layout android-toolbar

我面临的问题是,当SearchView获得焦点时,父ActionBar几乎会放大到键盘的顶部(如下面的屏幕截图所示)。仅当工具栏的android:fitsSystemWindow属性和android:windowTranslucentStatus样式属性都设置为true时才会生效。如果其中一个是假的,问题就不再存在了。

我做错了什么?我错过了任何配置吗?

我的活动中有以下简单布局:

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusableInTouchMode="true">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimaryDark"
            android:fitsSystemWindows="true"
            android:height="?attr/actionBarSize"
            app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

        <ScrollView
            android:id="@+id/search_result_scroll_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fillViewport="true"/>

    </LinearLayout>

</android.support.v4.widget.DrawerLayout>

我的styles.xml如下所示:

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
    </style>
</resources>

menu_main.xml如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:tools="http://schemas.android.com/tools"
      tools:context=".MainActivity">

    <item
        android:id="@+id/action_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="@string/search_button"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="ifRoom|collapseActionView"/>

</menu>

'bug'的屏幕截图: Screenshot of the 'bug'

1 个答案:

答案 0 :(得分:2)

您是否尝试限制工具栏的高度,如

wrap_content

?而不是使用?attr/actionBarSize

=CALCULATE( DISTINCTCOUNT(Table1[Product]), ALLEXCEPT(Table1, Table1[Date]) ) 使系统选择当前配置的标准工具栏高度,例如手机上的纵向为56dp)