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、つまりヘッダーが表示されますが、2 番目の子 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 に答える