編輯:關於Android編程
本文實例為大家分享了ActionBar實現tab導航效果的具體代碼,供大家參考,具體內容如下
先來說一說基礎知識:
一、基本使用方法
1.獲取ActionBar
獲取actionbar很簡單,在activity中,ationbar=this.getActionBar();
2.顯示/隱藏
設置actionBar的顯示/隱藏,可以使用show()和hide()方法。
3.設置MenuItem
通過設置menuItem,可以使menuItem成為actionbar上的item。
setShowAsAction(int actionenum),這個actionenum支持的參數如下:
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的實現類。
定義Action Item時,使用android:actionLayout屬性指定Action View對應的視圖資源。
二、Android巧用ActionBar實現tab導航效果
利用actionbar同樣也可以輕松的實現tab導航的效果,配合使用fragment實現切換不同view的功能。
若想使用這個功能,需要
1)設置actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS),使actionbar使用tab導航功能。
2)調用actionbar的addTab()方法,添加多個tab標簽,並為每個tab標簽添加時間監聽器。
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) { } }
實現效果:
以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支持本站。
摘要:Json數據在安卓開發過程中是非常常見的,在請求服務器端數據的時候,服務器端返回的無非就是三種類型:HTML,XML,JSON。所以學習JSON對安卓程序員來說是非
RadioGroup+ViewPager+Fragment實現的可滑動的Tab頁,非常的靈活。最終效果圖 demo下載:http://download.csdn.net/
夜神安卓模擬器也是一款非常不錯的安卓模擬器,原生支持多開,這個功能對於許多游戲愛好者來說肯定是非常具有吸引力的,還有很多用戶喜歡開啟定位,下面下載吧小編就來
DRM In this document Overview Android DRM FrameworkWidevine DR