ActionBarDrowList 下拉菜单

来源:互联网 发布:大型装备制造业数据 编辑:程序博客网 时间:2024/05/07 09:50
package com.example.view3;import android.os.Bundle;import android.annotation.SuppressLint;import android.app.ActionBar;import android.app.Fragment;import android.app.FragmentTransaction;import android.app.ActionBar.OnNavigationListener;import android.app.Activity;import android.content.Context;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.SpinnerAdapter;import android.widget.TextView;public class ActionBarDrowListActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_action_bar_drow_list);    ActionBar actionBar = getActionBar();         actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);  //下拉模式                actionBar.setListNavigationCallbacks(new MyAdapter(this), new OnNavigationListener() {String[] strings = new String[]{"one","two"}; @Overridepublic boolean onNavigationItemSelected(int itemPosition, long itemId) {//自定义的Fragment类    ListContentFragment newFragment = new ListContentFragment();  FragmentTransaction ft =getFragmentManager().beginTransaction();       ft.replace(R.id.list_content, newFragment, strings[itemPosition]);  //第三个参数标志作用     ft.commit();     return true; }});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.action_bar_drow_list, menu);return true;} /** 菜单显示模式   切换的时候: */ public void onSwitch(View v) {        final ActionBar bar = getActionBar();        if (bar.getNavigationMode() == ActionBar.NAVIGATION_MODE_LIST) {            bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);            bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);        } else {            bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);            bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);        } }   /** spinnerAdapter 下拉*/  private class MyAdapter extends ArrayAdapter<String> implements SpinnerAdapter    {        public MyAdapter(Context ctx)        {            super(ctx, android.R.layout.simple_spinner_item,  new String[]{"one","two"});                this.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);        }        public View getDropDownView(          int position, View convertView, ViewGroup parent)        {            return super.getDropDownView(              position, convertView, parent);        }    }  /** 自定义的Fragment类*/  public static 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 textview = new TextView(getActivity());        textview.setText(mText);             return textview;         }        public String getText() {            return mText;        }      }}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent" android:layout_height="match_parent"android:orientation="vertical"><FrameLayout android:id="@+id/list_content"android:layout_width="match_parent" android:layout_height="0dip"android:layout_weight="1" /><Button android:id="@+id/btn_switch" android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="切换"android:onClick="onSwitch" android:layout_gravity="center_horizontal" /></LinearLayout>



0 0
原创粉丝点击