如何防止Edittext的宽度按输入的文本大小更改?

时间:2017-07-21 20:49:43

标签: android android-edittext

我有两个EditText如下:



 window.open(mainPath +'\\PopupFeedback.aspx?currentURL='...




当我在edtTxtNameReg中写道时,它的宽度增加,edtTxtSurNameReg的宽度减小。

有没有办法让edtTxtNameReg的宽度保持不变,文字向左滚动?

由于

2 个答案:

答案 0 :(得分:3)

对两个EditText使用android:layout_width="0dp",宽度不会随内容

而变化

对于使用android:layout_weight时的LinearLayout,水平方向的宽度或垂直方向的高度必须为="0dp"

答案 1 :(得分:0)

Tonteria24所说的大多数内容都是准确的,但不是这一部分:

  

对于LinearLayout使用android:layout_weight时,水平方向的宽度或垂直方向的高度必须为="0dp"

layout_weightLinearLayout的工作方式是:

  1. 给予每个孩子足够的空间
  2. 根据每个孩子的体重比例划分额外的空间
  3. LinearLayout的大小0dp和相同的权重提供所有观看次数非常常见,或者只提供一个0dp的视图和{{1}的权重}}。这是有道理的,因为它基本上会跳过上面的第一点(孩子要求0宽度或高度),然后均匀地划分空间。

    但是,合并1wrap_content完全有效。

    ,会导致不同的行为。首先,layout_weight将给予第一个LinearLayout足够的宽度来包装其内容,然后它将(尝试)给第二个EditText足够的宽度来包装其内容,然后它将划分两个观点之间的任何额外空间。

    结果呢?随着第一个EditText内容的宽度增加," extra"留下的空间分裂缩小。如果您输入足够的文字,第一个EditText最终会增长以填充整个EditText

    这就是为什么将其宽度设置为0dp为您解决的问题。它阻止了不断增长的行为。但是,您可能还有另一次想要同时使用LinearLayoutwrap_content,这完全没问题。