編輯:Android開發實例
一.添加標簽 Tabs
在ActionBar中實現標簽頁可以實現android.app.ActionBar.TabListener ,重寫onTabSelected、onTabUnselected和onTabReselected方法來關聯Fragment。代碼如下:
- private class MyTabListener implements ActionBar.TabListener {
- private TabContentFragment mFragment;
- public TabListener(TabContentFragment fragment) {
- mFragment = fragment;
- } @Override
- public void onTabSelected(Tab tab, FragmentTransaction ft) {
- ft.add(R.id.fragment_content, mFragment, null);
- }
- @Override
- public void onTabUnselected(Tab tab, FragmentTransaction ft) {
- ft.remove(mFragment);
- }
- @Override
- public void onTabReselected(Tab tab, FragmentTransaction ft) {
- }
- }
接下來我們創建ActionBar在Activity中,代碼如下;
- <STRONG>@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- final ActionBar actionBar = getActionBar(); //提示getActionBar方法一定在setContentView後面
- actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
- actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
- Fragment artistsFragment = new ArtistsFragment();
- actionBar.addTab(actionBar.newTab().setText(R.string.tab_artists).setTabListener(new TabListener(artistsFragment)));
- Fragment albumsFragment = new AlbumsFragment();
- actionBar.addTab(actionBar.newTab().setText(R.string.tab_albums).setTabListener(new TabListener(albumsFragment)));
- }</STRONG>
二. 添加下拉導航 Drop-down Navigation:
創建一個SpinnerAdapter提供下拉選項,和Tab方式不同的是Drop-down只需要修改下setNavigationMode的模式,將ActionBar.NAVIGATION_MODE_TABS改為ActionBar.NAVIGATION_MODE_LIST,最終改進後的代碼為
- <STRONG>ActionBar actionBar = getActionBar();
- actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
- actionBar.setListNavigationCallbacks(mSpinnerAdapter, mNavigationCallback);</STRONG>
上面我們通過setListNavigationCallbacks方法綁定一個SpinnerAdapter控件,具體的OnNavigationListener代碼示例為;
- <STRONG> mOnNavigationListener = new OnNavigationListener() {
- String[] strings = getResources().getStringArray(R.array.action_list);
- @Override
- public boolean onNavigationItemSelected(int position, long itemId) {
- ListContentFragment newFragment = new ListContentFragment();
- FragmentTransaction ft = openFragmentTransaction();
- ft.replace(R.id.fragment_container, newFragment, strings[position]);
- ft.commit();
- return true;
- }
- };</STRONG>
而其中的ListContentFragment的代碼為:
- public class ListContentFragment extends Fragment {
- private String mText;
- @Override
- public void onAttach(Activity activity) {
- super.onAttach(activity);
- mText = getTag();
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- TextView text = new TextView(getActivity());
- text.setText(mText);
- return text;
- }
- }
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
一、問題描述 LBS位置服務是android應用中重要的功能,應用越來越廣泛,下面我們逐步學習和實現lbs相關的應用如定位、地圖、導航等,首先我們看如何基於百度地
作為Android應用開發者,不得不面對一個尴尬的局面,就是自己辛辛苦苦開發的應用可以被別人很輕易的就反編譯出來。Google似乎也發現了這個問題,從SDK2.3
使用Gallery和ImageView實現android左右滑動+索引圖標效果。 首先自定義Gallery實現一次只能滑動一個頁面 代碼如下: public c