Как добавить вкладки внизу - PullRequest
0 голосов
/ 18 августа 2011

У меня есть вкладка, которая содержит три вкладки, связанные с тремя действиями. Все три вкладки находятся в верхней части. Как сделать эти три вкладки внизу?

Я нашел это, но все еще есть некоторые проблемы.

Это мой XML-файл с вкладками:

<?xml version="1.0" encoding="UTF-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" />
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"/>
    </LinearLayout>
</TabHost>

В моем классе TabActivity у меня есть следующий код:

setContentView(R.layout.tabs);

TabHost mTabHost = (TabHost)findViewById(android.R.id.tabhost);

mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1").setContent(new Intent(AndroisTabViewActivity.this,TabActivity1.class)));
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("TAB 2").setContent(new Intent(AndroisTabViewActivity.this,TabActivity1.class)));
mTabHost.addTab(mTabHost.newTabSpec("tab_test3").setIndicator("TAB 3").setContent(new Intent(AndroisTabViewActivity.this,TabActivity1.class)));

mTabHost.setCurrentTab(0);

Существует одно действие с именем TabActivity1, которое я также включил в файл манифеста. Но это показывает ошибку:

Невозможно получить действие TabActivity1.

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Я предполагаю, что вы хотите показать "Tab" в внизу окна, попробуйте это:

<RelativeLayout
    android:layout_width="match_parent"
    android:id="@+id/linearLayout1"
    android:layout_height="match_parent">

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

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

0 голосов
/ 18 августа 2011

Если вы хотите использовать LinearLayout:

<?xml version="1.0" encoding="UTF-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>
</TabHost>

При таком решении tab content сначала не будет занимать пробел, TabWidget займет свое собственное пространство, затем оставшееся пространствобудет отдан tab content.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...