1

我有一个带有片段容器的活动,用于在我的应用程序中显示对象的不同细节。

<?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"
android:layout_gravity="center">


   <LinearLayout
          android:orientation="horizontal"
          android:id="@+id/fragment_container"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          >
   </LinearLayout>

</LinearLayout>

这工作正常。选项卡正确显示。

现在我想在这个活动中添加一个标题行,它显示“静态”内容,而不管当前片段的细节。标题行应在顶部,片段容器在下方。所以我将布局更改为:

<?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"
android:layout_gravity="center">

      <LinearLayout 
          android:orientation="horizontal"
          android:id="@+id/LabeledObjectHeaderInfo"
          android:layout_width="match_parent"
          android:layout_height="wrap_content" >


        <TextView
            android:id="@+id/txtHeaderID"
            android:layout_width="0dp" 
            android:layout_height="wrap_content"
            android:layout_weight=".10"
            android:gravity="right"
            android:padding="10dip"
            android:text="@string/txtHeaderID"
            android:textSize="20sp" />

        <TextView
            android:id="@+id/txtHeaderIDValue"
           android:layout_width="0dp" 
            android:layout_height="wrap_content"
             android:layout_weight=".20"
            android:gravity="left"
            android:padding="10dip"
            android:text="test"
            android:textSize="20sp" />      

        <TextView
            android:id="@+id/txtHeaderName"
           android:layout_width="0dp" 
            android:layout_height="wrap_content"
             android:layout_weight=".20"
            android:gravity="left"
            android:padding="10dip"
            android:text="@string/txtHeaderName"
            android:textSize="20sp" />   

        <TextView
            android:id="@+id/txtHeaderNameValue"
            android:layout_width="0dp" 
            android:layout_height="wrap_content"
             android:layout_weight=".50"
            android:gravity="left"
            android:padding="10dip"
            android:text="test"
            android:textSize="20sp" />           


   </LinearLayout >    

   <LinearLayout
          android:orientation="horizontal"
          android:id="@+id/fragment_container"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_marginTop="30dp"
          >
   </LinearLayout>

</LinearLayout>

我现在的问题是,只显示标题,但不显示片段的内容。到目前为止,我只更改了布局文件(正如您从“测试”文本中看到的那样),但没有其他代码。

我做错了什么,我的错误在哪里?

4

2 回答 2

0

尝试这个

在您的容器 LinearLayout 中,您拥有android:orientation="horizontal"显示其第一个子 LinearLayout 即标题,但隐藏其第二个子 LinearLayout 即右侧的内容。

<?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"
android:layout_gravity="center">

<!-- Inner Layouts -->

</LinearLayout>

将其更改为android:orientation="vertical".

<?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:layout_gravity="center">

<!-- Inner Layouts -->

</LinearLayout>
于 2013-09-01T16:55:09.073 回答
0

只需使主布局中的方向垂直,它就会正常工作。

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical">

因为您将其方向设置为水平,所以片段布局向右。

于 2013-09-01T16:56:39.807 回答