操作栏/工具栏上的AutoCompleteTextView出现问题

时间:2014-12-14 17:00:00

标签: android material-design

当我把它放在工具栏或操作栏上时,我对这个元素的宽度有一些问题。看起来像这样:

Toolbar problem

SearchView没有问题:

SearchView is ok

使用SearchView可以,但不想在我的代码中使用变通方法。 我能做什么?我正在使用最新版本的appcompat库。

search_custom:

<AutoCompleteTextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/autoCompleteTextView_searchWidget"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textColor="@color/black"
    android:imeOptions="actionSearch"
    android:inputType="text">
    <requestFocus/>
</AutoCompleteTextView>

menu.xml文件:

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

<item android:id="@+id/action_search"
    android:name="search"
    android:title="@string/search"
    android:imeOptions="actionSearch"
    android:inputType="textAutoComplete|textAutoCorrect"
    app:actionLayout="@layout/search_custom"
    android:icon="@drawable/ic_search"
    app:showAsAction="ifRoom|collapseActionView"/>

</menu>

摇篮:

compile 'com.android.support:appcompat-v7:21.0.+'

解决了!美丽的解决方法:

int screenWidth = new ViewUtil(this).getScreenWidth(); // This guy return the width of the device
if(screenWidth <= 10) {
    creenWidth = 150;
}
mAutoCompleteTextView.setMinWidth(screenWidth);

2 个答案:

答案 0 :(得分:2)

看起来你缺少AutoCompleteTextView上的minWidth

答案 1 :(得分:0)

在我的情况下,使用此代码:

textView.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));