【问题标题】:Changing the width of AutoCompleteTextView in Android在 Android 中更改 AutoCompleteTextView 的宽度
【发布时间】:2013-07-22 16:55:58
【问题描述】:

我已经为此困扰了几天。我的布局中有一个 autoCompleteTextView 和一个按 50/50 拆分的按钮。自动完成功能有效,但建议只占屏幕的一半(相当于我的 textView 占用的大小)。我怎样才能改变它以占据整个宽度?

请原谅我糟糕的绘画技巧:

蓝色 = AutoCompleteTextView 红色 = 所需的自动完成建议

这似乎是一个微不足道的问题,但简单地将宽度更改为 fill_parent 是行不通的。任何想法 xml 或编程方式?

解决方案: myAutoCompleteTextView.setDropDownWidth(ViewGroup.LayoutParams.MATCH_PARENT)

编辑: 我的第一个问题似乎已经解决了,但现在如果我切换按钮和 autoCompleteTextView,我会遇到另一个奇怪的问题。宽度从 textView 开始的位置开始。给我留下了一个不受欢迎的结果。

解决方案:参见用户:vikram 的编辑 1

【问题讨论】:

    标签: java android xml android-listview autocompletetextview


    【解决方案1】:

    您可以使用该属性在此小部件的描述中设置此属性:

    android:dropDownWidth="match_parent"
    

    如果您想在 java 中“以编程方式”执行此操作,请使用方法 setDropDownWidth(int):

    myAutoCompleteTextView.setDropDownWidth(int)
    

    编辑 1:

    Point pointSize = new Point();
    
    getWindowManager().getDefaultDisplay().getSize(pointSize);
    
    myAutoCompleteTextView.setDropDownWidth(pointSize.x);
    

    【讨论】:

    • 如何传入根布局的宽度?
    • 好吧,您可以计算屏幕宽度并将其传递给setDropDownWidth(screenWidth)。或者,您可以将MATCH_PARENT 常量作为setDropDownWidth(ViewGroup.LayoutParams.MATCH_PARENT) 传递。或者,您可以将setDropDownWidth(-1)-1 作为ViewGroup.LayoutParams.MATCH_PARENT 的值。这是你问的吗?
    • 嗯...是的,这似乎可行,但现在我遇到了另一个问题。我正在更新我的问题。
    • 你在 setDropDownWidth(?) 中使用什么作为参数?
    • ViewGroup.LayoutParams.MATCH_PARENT
    【解决方案2】:

    我觉得setDropDownAnchor() 更方便。

    只需传递某个视图的 id,下拉视图将匹配其宽度和位置(无论实际文本视图放置在何处)。

    在您的示例中,这可能是按钮和文本视图的父级。

    【讨论】:

      【解决方案3】:

      在我的情况下,AutoCompleteTextView 占据了整个宽度。看着change position of spinner dropdown list我设置了

      android:layout_marginLeft="15dp"
      android:layout_marginRight="15dp"
      

      创建列表的左右边距。

      【讨论】:

        【解决方案4】:

        您还可以调整宽度的起始位置:

        myAutoCompleteTextView.setDropDownHorizontalOffset(int offset)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-12
          • 1970-01-01
          • 1970-01-01
          • 2011-05-19
          • 2015-03-14
          相关资源
          最近更新 更多