2014-05-23 56 views
-1

我在eclipse中創建了一個新的Android項目並試圖添加Tab Widget,但是我收到一個錯誤消息:「沒有指定方向,默認是水平的。孩子被動態添加。「我試着把android:orientation =「horizo​​ntal」> 任何人都可以告訴我如何解決這個問題?No orientation在添加Tab Widget時指定

代碼是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.checktabs.MainActivity$PlaceholderFragment" > 

    <TabHost 
     android:id="@android:id/tabhost" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginTop="43dp" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 

      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" > 
      </TabWidget> 

      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 

       <LinearLayout <-error-> 
        android:id="@+id/tab1" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 

       <LinearLayout <-error-> 
        android:id="@+id/tab2" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 

       <LinearLayout <-error-> 
        android:id="@+id/tab3" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 
      </FrameLayout> 
     </LinearLayout> 
    </TabHost> 

</RelativeLayout> 
+0

您能否在這裏發佈您的logcat錯誤? –

+0

LogCat顯示沒有錯誤。 – user3552386

回答

0

由於皮棉規矩,android:orientation屬性是強制性的在XML佈局所有LinearLayout項目。

https://android-review.googlesource.com/#/c/49060/2/lint/libs/lint_checks/src/main/java/com/android/tools/lint/checks/InefficientWeightDetector.java

你只需要添加你需要的任何方向(最有可能的,垂直的)。

+0

我不這麼認爲。根據文件說它默認是水平的。檢查:http://developer.android.com/reference/android/widget/LinearLayout.html#attr_android%3aorientation所以,如果我們沒有添加任何東西,它應該是水平的。 –

+0

@ZuseeWeekin是的,默認是水平的。這就是爲什麼加上警告的原因:大多數情況下,你想要的方向是垂直的(即一個視圖在另一個下面)。 – matiash

1

就你的情況而言, 只是從框架佈局中移除所有線性佈局,並嘗試從活動中動態添加選項卡。

查看此示例瞭解更多詳情。 Android TabWidget Example

相關問題