Android編程之ActionBar Tabs用法實(shí)例分析
本文實(shí)例講述了Android編程之ActionBar Tabs用法。分享給大家供大家參考,具體如下:
這里主要實(shí)現(xiàn)用Tab切換不同的Fragment,點(diǎn)擊View顯示or隱藏ActionBar,把ActionBar 設(shè)為透明,使界面更加友好,詳細(xì)代碼見(jiàn)資源里的ActionBarTabs。
ActionBar Tab主要用于Fragment之間的切換,其必須要設(shè)置ActionBar.TabListener,詳細(xì)代碼如下
ActionBarActivity.Java:
import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentTransaction;
import android.app.ActionBar.Tab;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.MotionEvent;
import android.view.Window;
public class ActionBarActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//使ActionBar變得透明
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
setContentView(R.layout.main);
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// remove the activity title to make space for tabs
actionBar.setDisplayShowTitleEnabled(false);
AFragment aFragment = new AFragment();
actionBar.addTab(actionBar.newTab().setText("Tab-A")
.setTabListener(new ListenerA(aFragment)));
BFragment bFragment = new BFragment();
actionBar.addTab(actionBar.newTab().setText("Tab-B")
.setTabListener(new ListenerB(bFragment)));
}
//點(diǎn)擊顯示or隱藏ActionBar
public boolean onTouchEvent(MotionEvent event){
ActionBar bar = getActionBar();
switch(event.getAction()){
case MotionEvent.ACTION_UP:
if(bar.isShowing()) bar.hide();
else bar.show();
break;
default:
break;
}
return true;
}
private class ListenerA implements ActionBar.TabListener {
private AFragment mFragment;
// Called to create an instance of the listener when adding a new tab
public ListenerA(AFragment fragment) {
mFragment = fragment;
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.add(R.id.fragment, mFragment, null);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(mFragment);
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// do nothing }
}
}
private class ListenerB implements ActionBar.TabListener {
private BFragment mFragment;
// Called to create an instance of the listener when adding a new tab
public ListenerB(BFragment fragment) {
mFragment = fragment;
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.add(R.id.fragment, mFragment, null);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(mFragment);
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// do nothing }
}
}
}
其中涉及到兩個(gè)Fragment,在前面Fragment的筆記中講過(guò),這里就不再贅述。類(lèi)AFragment實(shí)現(xiàn)如下,BFragment實(shí)現(xiàn)與這類(lèi)似:
public class AFragment extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.alayout, container, false);
}
}
更多關(guān)于A(yíng)ndroid相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android中制作進(jìn)度框和環(huán)形進(jìn)度條的簡(jiǎn)單實(shí)例分享
這篇文章主要介紹了Android中制作進(jìn)度框和環(huán)形進(jìn)度條的簡(jiǎn)單實(shí)例分享,環(huán)形進(jìn)度條帶有基本的百分比顯示,需要的朋友可以參考下2016-03-03
Android傳感器SensorEventListener之加速度傳感器
今天小編就為大家分享一篇關(guān)于A(yíng)ndroid傳感器SensorEventListener之加速度傳感器,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
Android 實(shí)現(xiàn)廣告歡迎界面(倒計(jì)時(shí))
前些時(shí)候就是別人問(wèn)我他的android APP怎么做一個(gè)廣告的歡迎界面,就是過(guò)幾秒后自動(dòng)跳轉(zhuǎn)到主界面的實(shí)現(xiàn)。下面通過(guò)本文給大家介紹Android 實(shí)現(xiàn)廣告歡迎界面(倒計(jì)時(shí))的方法,需要的朋友參考下吧2017-12-12
Android實(shí)現(xiàn)Recycleview懸浮粘性頭部外加右側(cè)字母導(dǎo)航
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)Recycleview懸浮粘性頭部外加右側(cè)字母導(dǎo)航,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
Android學(xué)習(xí)項(xiàng)目之簡(jiǎn)易版微信為例(二)
這篇文章主要以簡(jiǎn)易版微信為例,實(shí)現(xiàn)簡(jiǎn)易版微信的登陸、注冊(cè)界面的編寫(xiě)與簡(jiǎn)單交互,感興趣的小伙伴們可以參考一下2016-06-06
Android實(shí)現(xiàn)開(kāi)機(jī)自動(dòng)啟動(dòng)Service或app的方法
這篇文章主要介紹了Android實(shí)現(xiàn)開(kāi)機(jī)自動(dòng)啟動(dòng)Service或app的方法,結(jié)合實(shí)例形式分析了Android開(kāi)機(jī)自啟動(dòng)程序的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-07-07
Android中TextView自動(dòng)識(shí)別url且實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn)
這篇文章主要介紹了關(guān)于A(yíng)ndroid中TextView自動(dòng)識(shí)別url且實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn)的相關(guān)資料,文中給出了詳細(xì)的示例代碼,對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03

