AppCompat - 当用作ActionBar的动作视图时,AutoCompleteTextView的宽度不填充父级

时间:2015-05-16 05:20:38

标签: android android-actionbar actionbarsherlock android-appcompat

我使用textarea作为AutoCompleteTextView的操作视图。

当我使用ActionBar时,它完全正常。以下是我使用SherlockActionBar作为AutoCompleteTextView的操作视图的代码段。

main.xml中

ActionBar

collapsible_searchtext.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">

    <!-- android.support.v7.widget.SearchView -->
    <item android:id="@+id/action_search"
        android:title="Search me"
        android:icon="@drawable/ic_action_search"
        app:showAsAction="always|collapseActionView"
        app:actionLayout="@layout/collapsible_searchtext" />

    <item android:id="@+id/action_settings" android:title="@string/action_settings"
        android:orderInCategory="100" app:showAsAction="never" />
</menu>

如您所见,我们在宽度属性中使用<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" > <android.widget.AutoCompleteTextView android:hint="Search stock" android:layout_gravity="center_vertical" android:layout_width="match_parent" android:layout_height="wrap_content" > <requestFocus /> </android.widget.AutoCompleteTextView> <ProgressBar android:id="@+id/progress_bar" android:layout_marginRight="15dip" android:layout_gravity="right|center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="invisible" /> </FrameLayout>

如果我使用match_parent,它看起来很好。

enter image description here

但是,如果我使用SherlockActionBar主题为AppCompat

Theme.AppCompat.Light.DarkActionBar

折叠的<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="22" /> 宽度不会填充父级。

enter image description here

我有一个简单的代码段来演示此问题:https://www.dropbox.com/s/ny4dq0c7ycqe1kc/appcompat-autocompletetextview-issues.zip?dl=0

1 个答案:

答案 0 :(得分:1)

collapsible_searchtext.xml中的根FrameLayout更改为RelativeLayout,使AutoCompleteTextView跨越整个宽度。

但是,我不知道为什么会发生这种情况,因为使用FrameLayout之前在SherlockActionBar中有效。

p / s感谢Karge从reddit输入