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

首頁 > 系統(tǒng) > Android > 正文

Android巧用ActionBar實現(xiàn)tab導航效果

2019-12-12 06:19:58
字體:
來源:轉載
供稿:網(wǎng)友

本文實例為大家分享了ActionBar實現(xiàn)tab導航效果的具體代碼,供大家參考,具體內(nèi)容如下

先來說一說基礎知識:

一、基本使用方法

1.獲取ActionBar

 獲取actionbar很簡單,在activity中,ationbar=this.getActionBar();

2.顯示/隱藏

設置actionBar的顯示/隱藏,可以使用show()和hide()方法。

3.設置MenuItem

通過設置menuItem,可以使menuItem成為actionbar上的item。

setShowAsAction(int actionenum),這個actionenum支持的參數(shù)如下:

   SHOW_AS_ACTION_ALWAYS:  總是將該menuitem顯示在actionbar上

   SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW:將該ActionView折疊成普通菜單項

   SHOW_AS_ACTION_IF_ROOM:當actionbar位置足夠時才顯示在actionbar上。

   SHOW_AS_ACTION_NEVER:不將該menuitem顯示在actionbar上。

   SHOW_AS_ACTION_WITH_TEXT:把menuItem顯示在actionbar上,并且顯示該菜單項的文本。

也可以在xml屬性,定義item的屬性 android:showAsAction來設置。

4.啟用程序圖標導航

setDisplayHomeAsUpEnabled(boolean showHomeAsUp):設置是否應該將應用程序圖標轉變成可點擊的圖標,并且在圖標上添加一個向左的箭頭。

setDisplayOptions(int options):控制actionbar的顯示選項。opitions選項為:

      DISPLAY_HOME_AS_UP

      DISPLAY_SHOW_CUSTOM

      DISPLAY_SHOW_HOME

      DISPLAY_SHOW_TITLE

      DISPLAY_USE_LOGO

      NAVIGATION_MODE_LIST

      NAVIGATION_MODE_STANDARD

      NAVIGATION_MODE_TABS

setDislayShowHomeEnabled(boolean showHome):設置是否顯示應用程序的圖標。

setHomeButtonEnabled(boolean eabled):  設置是否將應用程序圖標轉變成可點擊的按鈕。

5.actionbar中添加view

定義Action Item時,使用android:actionViewClass屬性指定Action View的實現(xiàn)類。

定義Action Item時,使用android:actionLayout屬性指定Action View對應的視圖資源。

二、Android巧用ActionBar實現(xiàn)tab導航效果
利用actionbar同樣也可以輕松的實現(xiàn)tab導航的效果,配合使用fragment實現(xiàn)切換不同view的功能。

若想使用這個功能,需要

1)設置actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS),使actionbar使用tab導航功能。

2)調(diào)用actionbar的addTab()方法,添加多個tab標簽,并為每個tab標簽添加時間監(jiān)聽器。

MyFragment.java

package com.app.main;import android.annotation.SuppressLint;import android.app.Fragment;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.widget.TextView;@SuppressLint("NewApi")public class MyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,   Bundle savedInstanceState) {  Context context = this.getActivity();  TextView tv = new TextView(context);  Bundle arc = this.getArguments();  int tabs=arc.getInt("key");    tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,    LayoutParams.WRAP_CONTENT));  tv.setText("hello actionbar "+tabs);  return tv; }}

main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Main" > <LinearLayout  android:id="@+id/container"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical" /></RelativeLayout>

Main.java

package com.app.main;import android.app.ActionBar;import android.app.ActionBar.Tab;import android.app.Activity;import android.app.FragmentTransaction;import android.os.Bundle;public class Main extends Activity implements ActionBar.TabListener { ActionBar actionBar = null; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  actionBar = this.getActionBar();  actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);  actionBar.addTab(actionBar.newTab().setText("tab1")    .setTabListener(this));  actionBar.addTab(actionBar.newTab().setText("tab2")    .setTabListener(this));  actionBar.addTab(actionBar.newTab().setText("tab3")    .setTabListener(this)); } @Override public void onTabReselected(Tab tab, FragmentTransaction ft) { } @Override public void onTabSelected(Tab tab, FragmentTransaction ft) {  MyFragment frag = new MyFragment();  int index = tab.getPosition() + 1;  Bundle bundle = new Bundle();  bundle.putInt("key", index);  frag.setArguments(bundle);  FragmentTransaction action = Main.this.getFragmentManager()    .beginTransaction();  action.replace(R.id.container, frag);  action.commit(); } @Override public void onTabUnselected(Tab tab, FragmentTransaction ft) { }}

實現(xiàn)效果:

以上就是本文的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 缙云县| 新宁县| 达日县| 大同县| 纳雍县| 延庆县| 常宁市| 德兴市| 鹤庆县| 涿州市| 宁城县| 合肥市| 中宁县| 始兴县| 建湖县| 凌云县| 通州区| 凤城市| 那曲县| 巴彦县| 吉安县| 涿州市| 松潘县| 龙陵县| 澄迈县| 苏尼特左旗| 蓬溪县| 尖扎县| 前郭尔| 安义县| 永福县| 沛县| 青田县| 兴宁市| 平罗县| 合阳县| 太保市| 蓝山县| 河北区| 都江堰市| 武威市|