是否可以在沒有TabHost的情況下使用TabWidget?我想爲諸如Tabs navigation之類的舊手機的ActionBar故障回覆。Android TabWidget沒有自定義動作的TabHost
所以我只想顯示用戶選項卡並監聽點擊操作,我在哪裏獲得活動標籤ID。而已。
我知道在一般情況下,TabsNavigatin for actionBar僅用於瀏覽片段。但我很容易避免片段。 :
class mTabListener implements ActionBar.TabListener {
private Screen screen;
public mTabListener(Screen screen) {
this.screen = screen;
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
screen.onTabReselected(tab, ft);
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
screen.onTabSelected(tab, ft);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
screen.onTabUnselected(tab, ft);
}
}
public abstract class Screen extends Activity {
protected void addTab(String title, int what, boolean selected) {
if (Global.API < 11)
return;
ActionBar bar = getActionBar();
Tab tab = bar.newTab()
.setTag(new Integer(what))
.setTabListener(new mTabListener(this))
.setText(title);
bar.addTab(tab, selected);
}
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
Integer what = (Integer)tab.getTag();
tabSelected(what);
}
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
public void tabSelected(int what) {
}
}
但我找不到如何將Tab按鈕添加到TabWidget;
這正是我想要的。我不需要多個活動,我只需要Tab控件(它可以控制我自己的組件) – neworld 2012-07-25 14:04:24
嗯,只需要點擊一些按鈕,然後聽取其焦點,點擊和操作視圖等事件。我認爲你可以使用Tabhost來達到你的目的,而不是重新實現相同的目的。 – 2012-07-25 15:09:48
我不需要操縱觀點。我需要改變一些信息,我必須保持標準的外觀和感覺。一種方法是重新發明輪子並製作我自己的TabsWidget,它更具適應性。但也許有更簡單的方法來做到這一點? – neworld 2012-07-25 15:21:51