Ответ 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.