"机器人:dropDownAnchor"不适用于Android Nougat(API 24)

时间:2016-10-10 12:22:09

标签: android autocompletetextview android-7.0-nougat

我创建了一个简单的AutoCompleteTextView,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <AutoCompleteTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/query"
        android:dropDownAnchor="@id/dropdownDivider"
        android:dropDownWidth="match_parent"
        android:dropDownHeight="match_parent"
        android:inputType="text"
        android:android:imeOptions="actionSearch"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:background="#ccc"
        android:id="@+id/dropdownDivider"/>
</LinearLayout>

下拉列表应该低于autocompletetextview,并且视图名为&#34; dropdownDivider&#34;。它不应该与autocompletetextview重叠。这是通过使用android:dropDownAnchor属性实现的。这适用于少于23的API版本。

然而,在API 24(Android Nougat)中,下拉列表与autocompletetextview重叠并占据全屏。

我尝试了什么:

  • 替换<AutoCompleteTextView/> <android.support.v7.widget.AppCompatAutoCompleteTextView/>但那 没有帮助。
  • 尝试了thisthisthis以及更多答案,但是 没有解决问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

以编程方式设置下拉高度以包装内容为我解决了问题。 autoCompleteTextView.setDropDownHeight(ViewGroup.LayoutParams.WRAP_CONTENT);