国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程之ActionBar Tabs用法實例分析

2019-10-23 18:34:38
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程之ActionBar Tabs用法。分享給大家供大家參考,具體如下:

這里主要實現用Tab切換不同的Fragment,點擊View顯示or隱藏ActionBar,把ActionBar 設為透明,使界面更加友好,詳細代碼見資源里的ActionBarTabs。

ActionBar Tab主要用于Fragment之間的切換,其必須要設置ActionBar.TabListener,詳細代碼如下

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)));  }  //點擊顯示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 }    }  }}

其中涉及到兩個Fragment,在前面Fragment的筆記中講過,這里就不再贅述。類AFragment實現如下,BFragment實現與這類似:

public class AFragment extends Fragment {  public View onCreateView(LayoutInflater inflater, ViewGroup container,      Bundle savedInstanceState) {    return inflater.inflate(R.layout.alayout, container, false);    }}

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三明市| 玛多县| 诸城市| 台北县| 福鼎市| 遂川县| 孝义市| 葫芦岛市| 泰顺县| 林州市| 临泉县| 静宁县| 缙云县| 康平县| 钦州市| 昌平区| 蒙阴县| 宜宾县| 枣强县| 黑河市| 肥城市| 衡阳县| 梁河县| 华池县| 兴义市| 鹤山市| 新野县| 衡东县| 视频| 曲松县| 治县。| 陵川县| 平南县| 宁城县| 集贤县| 木兰县| 军事| 阿克陶县| 伊金霍洛旗| 延津县| 云和县|