为什么没有显示正确的布局?
Why isn't the right layout displayed?
我正在努力学习布局。
我尝试做的布局是:
___________________________________________________
| |
| VIEW PAGER |
|___________________________________________________|
| | |
| TEXT | TEXT |
|_________________________|_________________________|
| | | | |
| | TEXT | | TEXT |
| TEXT |____________| TEXT |____________|
| | | | |
| | TEXT | | TEXT |
|____________|____________|____________|____________|
谁能帮我理解为什么viewpage下布局的右边部分(评论NEXT INFO CELL之后的那个)没有显示,如何解决?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v4.view.ViewPager
android:id="@+id/friend_viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
/>
<LinearLayout
android:layout_below="@id/friend_viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Previous Info"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:editable="false"
android:gravity="center"
android:text="Bla"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla"
android:gravity="center"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla Bla"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!-- NEXT -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Next Info"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Bla"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla"
android:gravity="center"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla Bla"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
你说他们需要取相等的space。
尝试使用
layout_weight = "0.5"
layout_width = "0dp"
对于需要具有相同水平宽度的同一级别 child-layouts。
添加到children
以下是您问题的简化版本。它与外部 RelativeLayout
或 TextView
无关。这就是我对这个问题的 SSCCE 的意思。我已经减掉了脂肪,但仍然看到问题。
<?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="horizontal"
android:layout_weight="1">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffff0000" />
<!-- NEXT -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ff00ff00" />
</LinearLayout>
您使用的权重不正确,这个例子有效:
<?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="horizontal"
android:weightSum="2">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:background="#ffff0000" />
<!-- NEXT -->
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:background="#ff00ff00" />
</LinearLayout>
变为:
我正在努力学习布局。
我尝试做的布局是:
___________________________________________________
| |
| VIEW PAGER |
|___________________________________________________|
| | |
| TEXT | TEXT |
|_________________________|_________________________|
| | | | |
| | TEXT | | TEXT |
| TEXT |____________| TEXT |____________|
| | | | |
| | TEXT | | TEXT |
|____________|____________|____________|____________|
谁能帮我理解为什么viewpage下布局的右边部分(评论NEXT INFO CELL之后的那个)没有显示,如何解决?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v4.view.ViewPager
android:id="@+id/friend_viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
/>
<LinearLayout
android:layout_below="@id/friend_viewpager"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Previous Info"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:editable="false"
android:gravity="center"
android:text="Bla"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla"
android:gravity="center"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla Bla"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!-- NEXT -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Next Info"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Bla"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla"
android:gravity="center"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Bla Bla Bla"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
你说他们需要取相等的space。
尝试使用
layout_weight = "0.5"
layout_width = "0dp"
对于需要具有相同水平宽度的同一级别 child-layouts。
添加到children
以下是您问题的简化版本。它与外部 RelativeLayout
或 TextView
无关。这就是我对这个问题的 SSCCE 的意思。我已经减掉了脂肪,但仍然看到问题。
<?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="horizontal"
android:layout_weight="1">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffff0000" />
<!-- NEXT -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ff00ff00" />
</LinearLayout>
您使用的权重不正确,这个例子有效:
<?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="horizontal"
android:weightSum="2">
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:background="#ffff0000" />
<!-- NEXT -->
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:background="#ff00ff00" />
</LinearLayout>
变为: