Autocompletetextview width fill parent问题

Autocompletetextview width fill parent问题_第1张图片


如图 部分手机设置了全屏后,左,右,上边有边距没法全屏显示


就算在xml中设置了

android:dropDownWidth="match_parent"
或者在代码中设置了

autoTetextview .setDropDownWidth(LinerlLayout.LayoutParams.MATCH_PARENT);

这两个地方都尝试过没法消除边距

这个问题也困扰了半天,跟踪源码发现和popupWindowBackground有关 ,在ListPopupWindow中找到

/**
 * Sets the width of the popup window by the size of its content. The final width may be
 * larger to accommodate styled window dressing.
 *
 * @param width Desired width of content in pixels.
 */
public void setContentWidth(int width) {
    Drawable popupBackground = mPopup.getBackground();
    if (popupBackground != null) {
        popupBackground.getPadding(mTempRect);
        mDropDownWidth = mTempRect.left + mTempRect.right + width;
    } else {
        setWidth(width);
    }
}

当背景不为null时,mDropDownWidth的宽度不是我们传入的width还要加上mTempRect.left和mTempRect.left ;这也是为啥有的手机有边距的原因了


解决办法 :设置popupBackground背景为null

android:popupBackground="@null"

你可能感兴趣的:(android,android,width,fill,parent,边距)