更改视图 layout_width 属性(甚至更改为 0)不会影响实际视图宽度
Changing view layout_width attribute (even to 0) does not affect actual view width
我正在关注一个关于 RelativeLayout
的 Android 教程,它只是制作了两个 EditTexts
(名字和姓氏字段)和一个 Button
(不重要)。名字 EditText
视图的 layout_width
为 0dp,但在屏幕上仍然可见。我弄乱了宽度值,似乎无论我给它什么值,EditText
的大小都保持不变。这是为什么?跟layout_toLeftOf
语句有关系吗?下面是教程的链接以及我的 xml 代码和结果输出的图片。
教程Link:http://tinyurl.com/jjnfw7z
id为first_name
的EditText
的宽度完全由这两个约束指定:
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/last_name"
android:layout_alignParentLeft="true"
表示此 EditText
的左边缘必须与父视图的左边缘匹配。
android:layout_toLeftOf="@+id/last_name"
表示此 EditText
的右边缘必须与 ID 为 last_name
. 的兄弟视图的左边缘匹配
根据设计,它们优先于任何指定的 layout_width
值,这就是为什么您可以更改 dp
宽度而没有明显效果的原因。在这种情况下,通常将宽度设置为 0dp
;由于 layout_width
属性是必需的,零值是最清楚的指示符,表明视图的宽度正在其他地方确定(由其他属性;在代码中等)
我正在关注一个关于 RelativeLayout
的 Android 教程,它只是制作了两个 EditTexts
(名字和姓氏字段)和一个 Button
(不重要)。名字 EditText
视图的 layout_width
为 0dp,但在屏幕上仍然可见。我弄乱了宽度值,似乎无论我给它什么值,EditText
的大小都保持不变。这是为什么?跟layout_toLeftOf
语句有关系吗?下面是教程的链接以及我的 xml 代码和结果输出的图片。
教程Link:http://tinyurl.com/jjnfw7z
id为first_name
的EditText
的宽度完全由这两个约束指定:
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/last_name"
android:layout_alignParentLeft="true"
表示此EditText
的左边缘必须与父视图的左边缘匹配。android:layout_toLeftOf="@+id/last_name"
表示此EditText
的右边缘必须与 ID 为last_name
. 的兄弟视图的左边缘匹配
根据设计,它们优先于任何指定的 layout_width
值,这就是为什么您可以更改 dp
宽度而没有明显效果的原因。在这种情况下,通常将宽度设置为 0dp
;由于 layout_width
属性是必需的,零值是最清楚的指示符,表明视图的宽度正在其他地方确定(由其他属性;在代码中等)