我有以下代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemLayoutView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/list_view_layout_margin"
android:paddingRight="@dimen/list_view_layout_margin"
android:background="@color/yellow">
<LinearLayout
android:id="@+id/itemLinearLayoutView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/gameNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/game_list_text_size" />
<TextView
android:id="@+id/gameCreationDateView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textSize="@dimen/small_text_size"
android:textStyle="italic" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayoutView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/red"
android:orientation="horizontal" >
<Button
android:id="@+id/infoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info" />
<Button
android:id="@+id/deleteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/delete" />
</LinearLayout>
</RelativeLayout>
具有id itemLinearLayoutView的LinearLayout是将所有内容包装在listview行中的主要布局。我遇到的问题是第二个线性布局子元素没有使用id itemLinearLayoutView获取父线性布局的高度。有解决方案吗或代码有问题?
答案 0 :(得分:2)
只需更改布局高度以匹配父级。问题将得到解决。
<LinearLayout
android:id="@+id/itemLinearLayoutView"
android:layout_width="match_parent"
// use match_parent instead of wrap_content
android:layout_height="match_parent"
android:orientation="vertical" >
答案 1 :(得分:2)
你的问题在于:
android:layout_height="wrap_content"
这需要在LinearLayout中更改为“match_parent”,您希望将其作为父级的大小。另外,你说
the second linear layout child does not take the height of the parent linear layout
这两种布局不是父母和子女。父级是您的RelativeLayout,两个LinearLayout都是RelativeLayout的等效子级。也许这可以帮助您调试遇到的任何其他问题。
答案 2 :(得分:1)
布局需要嵌套在第一个线性布局中以获取它的参数,并且需要更改布局高度的值。代码如下。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemLayoutView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/list_view_layout_margin"
android:paddingRight="@dimen/list_view_layout_margin"
android:background="@color/yellow">
<LinearLayout
android:id="@+id/itemLinearLayoutView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/gameNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/game_list_text_size" />
<TextView
android:id="@+id/gameCreationDateView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textSize="@dimen/small_text_size"
android:textStyle="italic" />
<LinearLayout
android:id="@+id/LinearLayoutView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/red"
android:orientation="horizontal" >
<Button
android:id="@+id/infoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info" />
<Button
android:id="@+id/deleteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/delete" />
</LinearLayout>
</LinearLayout>
答案 3 :(得分:0)
<LinearLayout
android:id="@+id/itemLinearLayoutView"
android:layout_width="match_parent"
android:layout_height="match_parent" <!-- you should use match_parent here -->
android:orientation="vertical" >
答案 4 :(得分:0)
// try this way i have used LinearLayout as parent rather than RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemLayoutView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="@dimen/list_view_layout_margin"
android:paddingRight="@dimen/list_view_layout_margin"
android:background="@color/yellow">
<LinearLayout
android:id="@+id/itemLinearLayoutView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/gameNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/game_list_text_size" />
<TextView
android:id="@+id/gameCreationDateView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/gray"
android:textSize="@dimen/small_text_size"
android:textStyle="italic" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayoutView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="right"
android:background="@color/red"
android:orientation="horizontal" >
<Button
android:id="@+id/infoButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/info" />
<Button
android:id="@+id/deleteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/delete" />
</LinearLayout>
</LinearLayout>