菜单仿(ActionBar)
2013-05-31 11:00
197 查看
-----
使用纯布局实现,子菜单可以根据子需求改为gridview或者listview
中间内容为viewpager可以根据菜单的更改切换内容
也可以把整个菜单封装起来
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | public class MainActivity extends Activity { private View activity_main_bar_number;//菜单栏 private View activity_main_bar_history;//菜单栏 private View activity_main_bar_search;//菜单栏 List<View> list =new ArrayList<View>();//菜单栏列表 List<View> pagerList =new ArrayList<View>(); //分页视图 private ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_1); setView(); } private void setView() { activity_main_bar_number =findViewById(R.id.activity_main_bar_number); activity_main_bar_history =findViewById(R.id.activity_main_bar_history); activity_main_bar_search =findViewById(R.id.activity_main_bar_search); list.add(activity_main_bar_history); list.add(activity_main_bar_number); list.add(activity_main_bar_search); findViewById(R.id.activity_main_number).setOnClickListener(onClickListener); findViewById(R.id.activity_main_history).setOnClickListener(onClickListener); findViewById(R.id.activity_main_search).setOnClickListener(onClickListener); //设置分页视图 TextView textView1=new TextView(this); textView1.setText("page1"); TextView textView2=new TextView(this); textView2.setText("page2"); TextView textView3=new TextView(this); textView3.setText("page3"); pagerList.add(textView1); pagerList.add(textView2); pagerList.add(textView3); viewPager = (ViewPager)findViewById(R.id.activity_main_viewpager); viewPager.setBackgroundColor(Color.WHITE); viewPager.setAdapter(new MainPagerAdpter()); } //菜单点击事件 OnClickListener onClickListener =new OnClickListener() { @Override public void onClick(View v) { setWeight(v); } }; void setWeight(View view){ for (View view2 : list) { LayoutParams layoutParams =(LayoutParams) view2.getLayoutParams(); layoutParams.weight=1.0f; view2.setLayoutParams(layoutParams); } switch(view.getId()){ case R.id.activity_main_number://菜单1 viewPager.setCurrentItem(0,true); LayoutParams layoutParams=(LayoutParams) activity_main_bar_number.getLayoutParams(); layoutParams.weight=0.5f; activity_main_bar_number.setLayoutParams(layoutParams); findViewById(R.id.activity_main_menu).setVisibility(View.GONE); break; case R.id.activity_main_history://菜单2 viewPager.setCurrentItem(1,true); LayoutParams layoutParams1=(LayoutParams) activity_main_bar_history.getLayoutParams(); layoutParams1.weight=0.5f; activity_main_bar_history.setLayoutParams(layoutParams1); View v =findViewById(R.id.activity_main_menu); if(v.getVisibility()!=View.VISIBLE){ v.setVisibility(View.VISIBLE); }else { v.setVisibility(View.GONE); } break; case R.id.activity_main_search://菜单3 viewPager.setCurrentItem(2,true); LayoutParams layoutParams2=(LayoutParams) activity_main_bar_search.getLayoutParams(); layoutParams2.weight=0.5f; activity_main_bar_search.setLayoutParams(layoutParams2); findViewById(R.id.activity_main_menu).setVisibility(View.GONE); break; } } class MainPagerAdpter extends PagerAdapter{ @Override public int getCount() { return pagerList.size(); } @Override public boolean isViewFromObject(View view, Object o) { return view==o; } @Override public Object instantiateItem(ViewGroup container, int position) { viewPager.addView(pagerList.get(position)); return pagerList.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager)container).removeView(pagerList.get(position)); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | <?xml version="1.0" encoding="utf-8"?> <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" android:orientation="vertical" tools:ignore="ContentDescription,UselessParent,UseCompoundDrawables,HardcodedText,InefficientWeight" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingTop="45dp" > <android.support.v4.view.ViewPager android:id="@+id/activity_main_viewpager" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > </android.support.v4.view.ViewPager> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" > <ImageView android:id="@+id/btn_back" android:layout_width="69dp" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:background="@drawable/btn_hander_style" android:scaleType="fitXY" /> <ImageView style="@style/hander_ico_style" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:src="@drawable/btn_back" /> </RelativeLayout> <ImageView style="@style/hander_style" android:layout_width="1dp" android:scaleType="fitXY" android:src="@drawable/line_vv" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" > </LinearLayout> <RelativeLayout android:id="@+id/activity_main_bar_number" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" > <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" > <ImageView android:id="@+id/activity_main_number" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/btn_hander_style" android:scaleType="fitXY" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:src="@drawable/select_mark" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" android:paddingLeft="10dp" android:paddingRight="10dp" > <ImageView style="@style/hander_ico_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/select_number_btn" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:lines="1" android:text="菜单1" android:textColor="#FFFFFF" /> </LinearLayout> </RelativeLayout> </RelativeLayout> <ImageView style="@style/hander_style" android:layout_width="1dp" android:scaleType="fitXY" android:src="@drawable/line_vv" /> <LinearLayout android:id="@+id/activity_main_bar_history" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.5" android:orientation="vertical" > <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" > <ImageView android:id="@+id/activity_main_history" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/btn_hander_style" android:scaleType="fitXY" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:src="@drawable/select_mark" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" android:paddingLeft="10dp" android:paddingRight="10dp" > <ImageView style="@style/hander_ico_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/select_number_btn" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="菜单2" android:textColor="#FFFFFF" /> </LinearLayout> </RelativeLayout> <LinearLayout android:id="@+id/activity_main_menu" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#999" android:orientation="vertical" android:padding="1dp" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#FFFFFF" android:orientation="vertical" > <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" android:background="@drawable/btn_select_style" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dp" android:paddingRight="10dp" android:src="@drawable/history_btn_unuser_03" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:lines="1" android:text="子菜单1" android:textColor="#999" /> </LinearLayout> </RelativeLayout> <ImageView android:layout_width="match_parent" android:layout_height="1dp" android:background="#999" /> <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" android:background="@drawable/btn_select_style" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dp" android:paddingRight="10dp" android:src="@drawable/history_btn_unuser_03" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:lines="1" android:text="子菜单2" android:textColor="#999" /> </LinearLayout> </RelativeLayout> <ImageView android:layout_width="match_parent" android:layout_height="1dp" android:background="#999" /> <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" android:background="@drawable/btn_select_style" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="center" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dp" android:paddingRight="10dp" android:src="@drawable/history_btn_unuser_03" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:lines="1" android:text="子菜单3" android:textColor="#999" /> </LinearLayout> </RelativeLayout> </LinearLayout> </LinearLayout> </LinearLayout> <ImageView style="@style/hander_style" android:layout_width="1dp" android:scaleType="fitXY" android:src="@drawable/line_vv" /> <RelativeLayout android:id="@+id/activity_main_bar_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" > <RelativeLayout style="@style/hander_style" android:layout_width="wrap_content" > <ImageView android:id="@+id/activity_main_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/btn_hander_style" android:scaleType="fitXY" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:src="@drawable/select_mark" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:gravity="right|center_vertical" android:paddingLeft="10dp" android:paddingRight="10dp" > <EditText android:paddingLeft="5dp" android:id="@+id/editText1" android:layout_width="1dp" android:layout_height="30dp" android:layout_weight="1" android:background="#FFFFFF" android:gravity="left|center_vertical" android:hint="请输入查询的号码" android:lines="1" android:textColor="#444" android:textColorHint="#444" android:textSize="12sp" > </EditText> <ImageView style="@style/hander_ico_style" android:layout_marginLeft="10dp" android:src="@drawable/search_btn" /> </LinearLayout> </RelativeLayout> </RelativeLayout> </LinearLayout> </RelativeLayout> |
原文作者: 潶与苩_媞蕞初の
原文地址: http://my.eoe.cn/634935/archive/4060.html
相关文章推荐
- android的actionbar的溢出菜单默认不显示图标icon,怎样弄成微信那样可以显示icon
- 仿ActionBar overflow溢出,竖线菜单效果
- Android的ActionBar及菜单机制
- android 应用架构随笔五(ActionBar与侧滑菜单DrawerLayout)
- Android(3.0,level 11)工具栏ActionBar——菜单
- 使用ActionManager, ActionMainMenuBar, ActionToolBar制作菜单
- Android中级:ActionBar + DrawerLayout实现侧滑菜单
- 第十篇ANDROID的ActionBar及菜单机制
- Actionbar 强制显示溢出菜单
- Android的actionBar的菜单使用-android学习之旅(四十三)
- Android之ActionBar与菜单
- 显示菜单TActionmenubar(转)
- Android的actionBar的菜单使用-android学习之旅(四十三)
- 不同android版本关于actionBar右面省略菜单的强制转换
- Android的actionBar的菜单使用-android学习之旅(四十三)
- ANDROID的ActionBar及菜单机制
- activity+fragment+actionbar的菜单显示
- ActionBar与DrawerLayout侧滑菜单的使用
- 修改Actionbar菜单字体大小
- 实例:ActionBar显示操作选项 以及 点击菜单显示 操作项