Вертикальные вкладки в Android

Я хочу сделать вертикальные вкладки на Android, как показано ниже. enter image description here

Я видел пример для вертикальных вкладок ниже ссылки.

Нажмите здесь

В этой ссылке у ответа есть некоторые комментарии, а в комментариях у них есть общий код, но ссылка mega-upload истекла.

Я попробовал много способов, но не смог отображать вкладки по вертикали. Когда я пытаюсь по ссылке, вкладки не могут отображаться. Пожалуйста, помогите мне

Ответ 1

Когда я использую вкладки, я обычно просто скрываю тег tabwidget, устанавливая видимость андроида как ушедший.

И добавьте кнопки, которые будут действовать в качестве кнопок вкладок, таких как

ЭТО ИЗМЕНИТЬ, ЧТОБЫ СДЕЛАТЬ ВЕРТИКАЛЬНЫЕ КНОПКИ TAB

<?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="horizontal" 
        android:layout_width="fill_parent" android:layout_height="fill_parent">
        <FrameLayout android:layout_width="0dip" 
            android:layout_height="fill_parent" android:layout_weight="0.2">
        <TabWidget android:id="@android:id/tabs" 
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:visibility="gone"/>
            <LinearLayout android:layout_width="fill_parent"  
                android:layout_height="fill_parent"
                android:orientation="vertical">
                <Button android:layout_height="0dip" 
                    android:layout_width="fill_parent" 
                    android:layout_weight="1.0"
                android:background="@drawable/ic_tab_artists"               
                    android:id="@+id/artist_id" 
                    android:onClick="tabHandler"/>
                <Button android:layout_height="0dip" 
                    android:layout_width="fill_parent" 
                    android:layout_weight="1.0"
                android:background="@drawable/ic_tab_artists"  
                    android:id="@+id/album_id" 
                    android:onClick="tabHandler"/>
                <Button android:layout_height="0dip" 
                    android:layout_width="fill_parent" 
                    android:layout_weight="1.0"
                android:background="@drawable/ic_tab_artists"   
                    android:id="@+id/song_id" 
                    android:onClick="tabHandler"/>
        </LinearLayout> 
    </FrameLayout>       
    <FrameLayout android:id="@android:id/tabcontent" 
        android:layout_width="0dip" 
        android:layout_height="fill_parent" android:layout_weight="0.8"/>
</LinearLayout>

и я добавляю обработчик нажатия кнопки

public void tabHandler(View target){
    artistButton.setSelected(false);
    albumButton.setSelected(false);
    songButton.setSelected(false);
    if(target.getId() == R.id.artist_id){
        tabHost.setCurrentTab(0);
        artistButton.setSelected(true);
    } else if(target.getId() == R.id.album_id){
        tabHost.setCurrentTab(1);
        albumButton.setSelected(true);
    } else if(target.getId() == R.id.song_id){
        tabHost.setCurrentTab(2);
        songButton.setSelected(true);
    }
}

Когда я использую этот метод, он дает мне больше свободы в стиле кнопок вкладок. Вышеупомянутый xml предназначен для горизонтальных кнопок вкладок, но вы легко можете сделать его вертикальным, но немного отредактируйте его. Просто убедитесь, что вам нужны Tahbost, Tabwidget и framelayout с @android: id/tabcontent как id.

Ответ 2

может эта ссылка помочь вам, ее работы как ваше требование в режиме ландшафтной графики.

Ответ 5

Я нашел две библиотеки, если вы хотите изучить их или использовать их:

  1. Looa/TabView
  2. KTableView