更改视图layout_width属性(甚至更改为0)不会影响实际视图宽度

时间:2016-01-02 01:49:01

标签: android android-layout width

我正在关注有关RelativeLayout的Android教程,该教程刚刚制作了两个EditTexts(名字和姓氏字段)和Button(不重要)的基本布局。名字EditText视图的layout_width为0dp,但在屏幕上仍然可见。我弄乱了宽度值,似乎无论我给它什么价值,EditText的大小都保持不变。这是为什么?它与layout_toLeftOf语句有关吗?下面是教程的链接以及我的xml代码和结果输出的图片。

教程链接:http://tinyurl.com/jjnfw7z

note: the button code/output is not a worry

2]

1 个答案:

答案 0 :(得分:1)

ID为EditText的{​​{1}}的宽度完全由这两个约束指定:

first_name
  • android:layout_alignParentLeft="true" android:layout_toLeftOf="@+id/last_name" 表示此android:layout_alignParentLeft="true"的左边缘必须与父视图的左边缘匹配。
  • EditText表示此android:layout_toLeftOf="@+id/last_name"的右边缘必须与兄弟视图的左边缘匹配,标识为EditText

按照设计,这些优先于任何指定的last_name值,这就是为什么您可以更改layout_width宽度而没有可见效果的原因。在这种情况下,通常将宽度设置为dp;由于需要0dp属性,因此值为零是最清楚的指示,即视图的宽度在其他地方确定(通过其他属性;在代码中等)