此。我不明白为什么第一个布局看起来比第二个布局大,如果最后一个布局有.6(60%)。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".4" >
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".6">
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:1)
@Miguel Barra适用于此
android:layout_width="match_parent"
替换为
android:layout_width="wrap_content"
或
android:layout_width="0dp"
在你的两个相对布局
中答案 1 :(得分:0)
老实说,我没有尝试过分数权重值,但理论上它们应该有效。但我认为这里的问题是,你需要将Relativelayout的layout_width
设置为0dp。只有这时权重参数才会生效。试试看。
来自android docs -
创建一个线性布局,其中每个孩子使用相同数量的 屏幕上的空格,设置每个视图的android:layout_height “0dp”(用于垂直布局)或每个视图的android:layout_width 到“0dp”(对于水平布局)。然后设置android:layout_weight 每个视图为“1”。
答案 2 :(得分:0)
你应该有这个。
如果你使用体重,有两种情况
案例1:如果您有横向父母。你应该有layout_width =&#34; 0dp&#34;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".6" >
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".4">
</RelativeLayout>
</LinearLayout>
案例1:如果您有垂直父母。你应该有layout_height =&#34; 0dp&#34;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".6" >
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".4">
</RelativeLayout>
</LinearLayout>
答案 3 :(得分:0)
在layout_height = "0dp"
(父视图)中设置LinearLayout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal" android:layout_width="match_parent"
layout_height = "0dp" >
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".6" >
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight=".4">
</RelativeLayout>
</LinearLayout>
另外就是添加你的子视图权重和值(0.6 + 0.4 = 1)
android:weightSum="1"
LinearLayout
中的
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1" >