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