Xoom平板电脑的相对布局问题

时间:2011-04-22 19:21:11

标签: android android-layout

我遇到了Xoom平板电脑的布局问题。基本上,我想要一个片段(ListView)在左侧,另一个片段在ListView片段右侧。但是,我有两个问题。

首先,我不想为listview片段硬编码android:layout_width,设置为200dip(参见下面的代码)。我尝试了wrap_content,fill_parent,但它对我没用。

其次,此UI不会在整个屏幕上呈现。它只占整个平板电脑屏幕的一小部分。即使从fill_parent到其他值的硬编码也没有任何影响。

代码如下所示。我真的很感激这个问题的任何帮助。

〜谢谢!!

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment class="com.example.android.apis.app.FragmentLayout$TitlesFragment"
        android:id="@+id/titles" android:layout_width="200dip"
        android:layout_alignParentLeft="true"
        android:layout_height="match_parent" />

    <FrameLayout android:id="@+id/details"
        android:layout_width="wrap_content" 
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/titles"
        android:background="?android:attr/detailsElementBackground" />
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

而不是硬编码,您可以设置每个framelayout的布局权重。即

<?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">

   <FrameLayout 
    android:id="@+id/items_layout" 
    android:layout_weight="1"
      android:layout_width="0px" 
      android:layout_height="match_parent"
      android:background="?android:attr/detailsElementBackground" />

   <FrameLayout 
    android:id="@+id/details_layout" 
    android:layout_weight="2"
      android:layout_width="0px" 
      android:layout_height="match_parent"
      android:background="?android:attr/detailsElementBackground" />

不确定为什么你的UI没有占用整个屏幕。您是否支持largeScreens,清单中有一个设置。

<supports-screens 
    android:resizeable="true" 
    android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true"  
    android:anyDensity="true">
</supports-screens>