我有以下布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="horizontal"
android:weightSum="2">
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="ch.lexs.view.LawList"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1">
</fragment>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="ch.lexs.view.ParagraphList"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1">
</fragment>
</LinearLayout>
我的目的是将LinearLayout分成两个完全相同的部分。我认为这可以通过使用重量来完成。但第二个片段更小。我做错了什么?
答案 0 :(得分:9)
尝试将两者的宽度设置为“fill_parent”。
答案 1 :(得分:9)
此代码可能会帮助您
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
tools:context=".MainActivity" >
<fragment
android:id="@+id/mainFragment"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
class="com.lmhuan.weatherapp.helper.MainFragment" >
</fragment>
<fragment
android:id="@+id/detailFragment"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
class="com.lmhuan.weatherapp.helper.DetailFragment" >
</fragment>
</LinearLayout>
答案 2 :(得分:2)
您将两个片段的layout_height
设置为"fill_parent"
也许没有它可以尝试?
答案 3 :(得分:1)
您必须关注线性布局的weightSum
属性。然后是内部视图的layout_weight
,layout_height
和layout_width
属性。只需将布局划分为任何比例即可。
如果要将布局划分为相同大小的两个部分,则必须将layout_width
属性设置为两个布局的0dp
,并在主布局中将layout_weight
设置为1
。然后将weightSum
设置为父布局的2
。
可以应用相同的概念将布局划分为任何比率。将所有内部layout_weight
值总和设置为weightSum
。然后根据您要划分的方向将layout_width
或layout_height
设置为0dp
。以下是此问题的解决方案布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
tools:context=".MainActivity"
android:weightSum="2">
<fragment
android:id="@+id/mainFragment"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
</fragment>
<fragment
android:id="@+id/detailFragment"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent">
</fragment>
</LinearLayout>
这是一个将LinearLayout垂直划分为1,3,2比例的示例。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="6">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@android:color/white">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:background="@android:color/black">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:background="@android:color/white">
</RelativeLayout>
</LinearLayout>
答案 4 :(得分:0)
如果您希望布局具有相同的高度,请尝试设置android:layout_height =“0”;如果您想要相同的宽度,请尝试设置android:layout_width =“0”。
答案 5 :(得分:0)
fill_parent,因此您可以使用match_parent