没有方向添加Tab Widget时指定

时间:2014-05-23 03:21:25

标签: android eclipse-adt tabwidget

我在eclipse中创建了一个新的Android项目并试图添加Tab Widget,但是我收到错误说"没有指定方向,默认是水平的。当动态添加子项时,这是常见的错误来源。"我试过把android:orientation =" horizo​​ntal"> 谁能告诉我如何解决这个问题?

代码是:

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

2 个答案:

答案 0 :(得分:1)

在你的情况下, 只需从框架布局中删除所有线性布局,然后尝试从活动中动态添加标签。

查看此示例以获取更多详细信息。  Android TabWidget Example

答案 1 :(得分:0)

由于lint规则,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

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