Android Layout_Weight 属性不起作用[重复]
Posted
技术标签:
【中文标题】Android Layout_Weight 属性不起作用[重复]【英文标题】:Android Layout_Weight property not working [duplicate] 【发布时间】:2017-03-04 11:16:01 【问题描述】:由于某种原因,布局“lefttop”和“topright”在我的片段中保持在 0dp。
我已经检查过,当我为任一相对布局的宽度提供实际值 (id: 50dp) 时,其中的项目实际上开始出现。我还确保“lefttop”和“topright”的父相对布局实际上实际上占用了我的卡片视图的整个宽度和高度。
我实现 weightSum 和 layout_weight 的方式有问题吗?我查看了人们遇到的许多不同的类似问题
这是我的代码:
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_
android:layout_
card_view:cardCornerRadius="4dp"
android:layout_margin="5dp">
<RelativeLayout
android:layout_
android:layout_
android:weightSum = "1.5">
<!--Top Left section (name and adress)-->
<RelativeLayout
android:id="@+id/lefttop"
android:layout_
android:layout_
android:layout_weight = "1"
android:background="@drawable/borderright">
<TextView
android:id="@+id/title"
android:layout_
android:layout_
android:text="contact det"
android:gravity="center_vertical"
android:textColor="@android:color/black"
android:paddingLeft="5dp"
android:textSize="40dp"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/txtName"
android:layout_
android:layout_
android:text="Name"
android:gravity="center_vertical"
android:textSize="10dp"
android:layout_below="@id/title"
android:layout_marginTop="10dp"
android:layout_marginLeft="0dp"
android:paddingLeft="15dp"/>
</RelativeLayout>
<!--top right section with type of job and company-->
<RelativeLayout
android:id="@+id/topright"
android:layout_toRightOf="@+id/lefttop"
android:layout_
android:layout_
android:layout_weight = "0.5"
android:background="@drawable/borderright">
<TextView
android:id="@+id/txtSurname"
android:layout_
android:layout_
android:text="Surname"
android:gravity="center_vertical"
android:textSize="10dp"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="5dp"
android:background="@drawable/borderdown"/>
<TextView
android:id="@+id/txtEmail"
android:layout_
android:layout_
android:text="Email"
android:textSize="10dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="5dp"/>
</RelativeLayout>
</RelativeLayout>
</android.support.v7.widget.CardView>
【问题讨论】:
layout_weight
仅适用于LinearLayout
内的View
s。你的邮箱是RelativeLayout
。
成功了!奇怪的是它编译时没有任何错误。感谢迈克的及时回复!
【参考方案1】:
layout_weight 只适用于 LinearLayout ..... 这是你的解决方案......
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/card_view"
android:layout_
android:layout_
card_view:cardCornerRadius="4dp"
android:layout_margin="5dp">
<LinearLayout
android:layout_
android:layout_
android:weightSum = "1.5">
<!--Top Left section (name and adress)-->
<LinearLayout
android:id="@+id/lefttop"
android:layout_
android:layout_
android:layout_weight = "1"
android:background="@drawable/borderright">
<TextView
android:id="@+id/title"
android:layout_
android:layout_
android:text="contact det"
android:gravity="center_vertical"
android:textColor="@android:color/black"
android:paddingLeft="5dp"
android:textSize="40dp"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/txtName"
android:layout_
android:layout_
android:text="Name"
android:gravity="center_vertical"
android:textSize="10dp"
android:layout_below="@id/title"
android:layout_marginTop="10dp"
android:layout_marginLeft="0dp"
android:paddingLeft="15dp"/>
</LinearLayout>
<!--top right section with type of job and company-->
<LinearLayout
android:id="@+id/topright"
android:layout_toRightOf="@+id/lefttop"
android:layout_
android:layout_
android:layout_weight = "0.5"
android:background="@drawable/borderright">
<TextView
android:id="@+id/txtSurname"
android:layout_
android:layout_
android:text="Surname"
android:gravity="center_vertical"
android:textSize="10dp"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="5dp"
android:background="@drawable/borderdown"/>
<TextView
android:id="@+id/txtEmail"
android:layout_
android:layout_
android:text="Email"
android:textSize="10dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="5dp"/>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
【讨论】:
以上是关于Android Layout_Weight 属性不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android 开发学习进程0.16 layout_weight属性 R文件关联XML Module
[Android] android:layout_weight 属性的工作原理
Android知识点剖析系列:深入了解layout_weight属性
(android筑基系列)之LinearLayout适配问题(android:layout_weight属性)