【问题标题】:Changing view layout_width attribute (even to 0) does not affect actual view width更改视图 layout_width 属性(甚至为 0)不会影响实际视图宽度
【发布时间】:2016-04-06 08:01:20
【问题描述】:
我正在关注一个关于 RelativeLayout 的 Android 教程,该教程刚刚制作了两个 EditTexts(名字和姓氏字段)和一个 Button(不重要)的基本布局。第一个名称EditText 视图的layout_width 为0dp,但在屏幕上仍然可见。我弄乱了宽度值,似乎无论我给它什么值,EditText 的大小都保持不变。这是为什么?它与layout_toLeftOf 语句有关吗?下面是教程的链接以及我的 xml 代码和结果输出的图片。
教程链接:http://tinyurl.com/jjnfw7z
【问题讨论】:
标签:
android
android-layout
width
【解决方案1】:
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 属性是必需的,因此值为零是最清楚的指示,表明视图的宽度正在其他地方(由其他属性;在代码等中)确定