码迷,mamicode.com
首页 > 其他好文 > 详细

6. ActionBar详解

时间:2014-07-28 02:59:09      阅读:355      评论:0      收藏:0      [点我收藏+]

标签:android   des   style   blog   http   color   os   strong   

?ActionBar简介

bubuko.com,布布扣

? 隐藏和显示ActionBar

隐藏ActionBar      getActionBar().hide(); 

显示ActionBar      getActionBar().show(); 

? 添加和响应Action按钮

bubuko.com,布布扣

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:orientation="vertical" >
 5     <Button
 6         android:id="@+id/button_hide_show_actionbar"
 7         android:layout_width="match_parent"
 8         android:layout_height="wrap_content"
 9         android:onClick="onClick_HideShowActionBar"
10         android:text="隐藏ActionBar" />
11 </LinearLayout>
 1 package cn.eoe.first.actionbar;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.view.Menu;
 6 import android.view.MenuInflater;
 7 import android.view.MenuItem;
 8 import android.view.View;
 9 import android.view.Window;
10 import android.widget.Button;
11 import android.widget.Toast;
12 
13 public class FirstActionBarActivity extends Activity {
14     private Button hideShowActionBar;
15 
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
20         setContentView(R.layout.activity_first_action_bar);
21         hideShowActionBar = (Button) findViewById(R.id.button_hide_show_actionbar);
22     }
23 
24     public void onClick_HideShowActionBar(View view) {
25         if (getActionBar() == null)
26             return;
27         if (getActionBar().isShowing()) {
28             getActionBar().hide();
29             hideShowActionBar.setText("显示ActionBar");
30         } else {
31             getActionBar().show();
32             hideShowActionBar.setText("隐藏ActionBar");
33         }
34     }
35 
36     @Override
37     public boolean onCreateOptionsMenu(Menu menu) {
38         MenuInflater inflater = getMenuInflater();
39         inflater.inflate(R.menu.activity_first_action_bar, menu);
40         // menu.getItem(2).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
41         return true;
42     }
43 
44     @Override
45     public boolean onOptionsItemSelected(MenuItem item) {
46         Toast.makeText(this, item.getTitle(), Toast.LENGTH_LONG).show();
47         return super.onOptionsItemSelected(item);
48     }
49 
50 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 3 
 4     <item
 5         android:id="@+id/menu_save"
 6         android:icon="@drawable/save"
 7         android:showAsAction="ifRoom|withText"
 8         android:title="保存"/>
 9     <item
10         android:id="@+id/menu_open"
11         android:icon="@drawable/open"
12         android:showAsAction="ifRoom"
13         android:title="打开"/>
14     <item
15         android:id="@+id/menu_search"
16         android:icon="@drawable/search"
17         android:showAsAction="always"
18         android:title="保存"/>
19     <item
20         android:id="@+id/menu1"
21         android:icon="@drawable/ic_launcher"
22         android:showAsAction="ifRoom"
23         android:title="菜单项1"/>
24     <item
25         android:id="@+id/menu2"
26         android:icon="@drawable/ic_launcher"
27         android:showAsAction="ifRoom"
28         android:title="菜单项2"/>
29    
30 </menu>

 

 

? 可上下两分的Action

bubuko.com,布布扣bubuko.com,布布扣

 1 package cn.eoe.split.actionbar;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.view.Menu;
 6 import android.view.MenuInflater;
 7 
 8 public class SplitActionBar extends Activity {
 9 
10     @Override
11     protected void onCreate(Bundle savedInstanceState) {
12         super.onCreate(savedInstanceState);
13         setContentView(R.layout.activity_split_action_bar);
14     }
15 
16     @Override
17     public boolean onCreateOptionsMenu(Menu menu) {
18         MenuInflater inflater = getMenuInflater();
19         inflater.inflate(R.menu.activity_split_action_bar, menu);
20         return true;
21     }
22 }
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 3 
 4     <item
 5         android:id="@+id/menu_save"
 6         android:icon="@drawable/open"
 7         android:showAsAction="always|withText"/>
 8     <item
 9         android:id="@+id/menu_open"
10         android:icon="@drawable/open"
11         android:showAsAction="always"
12         android:title="打开"/>
13     <item
14         android:id="@+id/menu_search"
15         android:icon="@drawable/search"
16         android:showAsAction="always"
17         android:title="保存"/>
18     <item
19         android:id="@+id/menu1"
20         android:icon="@drawable/ic_launcher"
21         android:showAsAction="always"
22         android:title="菜单项1"/>
23     <item
24         android:id="@+id/menu2"
25         android:icon="@drawable/ic_launcher"
26         android:showAsAction="always"
27         android:title="菜单项2"/>
28 
29 </menu>

 

? 收缩和展开Action View 

bubuko.com,布布扣

 1 import android.annotation.SuppressLint;
 2 import android.app.Activity;
 3 import android.os.Bundle;
 4 import android.view.Menu;
 5 import android.view.MenuItem;
 6 import android.view.MenuItem.OnActionExpandListener;
 7 import android.widget.Toast;
 8 
 9 @SuppressLint("NewApi")
10 public class ActionViewActivity extends Activity implements
11         OnActionExpandListener {
12     // private Menu menu;
13 
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_action_view);
18     }
19 
20     @Override
21     public boolean onCreateOptionsMenu(Menu menu) {
22         getMenuInflater().inflate(R.menu.activity_action_view, menu);
23         // this.menu = menu;
24         for (int i = 0; i < menu.size(); i++) {
25             menu.getItem(i).setOnActionExpandListener(this);
26         }
27         return true;
28     }
29 
30     @Override
31     public boolean onMenuItemActionExpand(MenuItem item) {
32         Toast.makeText(this, "<" + item.getTitle() + ">已经展开", Toast.LENGTH_LONG)
33                 .show();
34 
35         return true;
36     }
37 
38     @Override
39     public boolean onMenuItemActionCollapse(MenuItem item) {
40         Toast.makeText(this, "<" + item.getTitle() + ">已经收缩", Toast.LENGTH_LONG)
41                 .show();
42         return true;
43     }
44 
45 }

res/menu/activity_action_view.xml

 1 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
 2 
 3     <item
 4         android:id="@+id/menu_item_edit"
 6         android:actionViewClass="android.widget.EditText"
 8         android:showAsAction="always"
 9         android:title="编辑"/>
11     <item
12         android:id="@+id/menu_item_clock"
13         android:actionLayout="@layout/action_view_clock"
14         android:icon="@drawable/time"
15      
16         android:showAsAction="always|collapseActionView"
17         android:title="时间"/>
18     <item
19         android:id="@+id/menu_item_search"
20         android:actionViewClass="android.widget.SearchView"
21         android:icon="@drawable/search"
23         android:showAsAction="always|collapseActionView"
24         android:title="搜素"/>
25 
26 </menu>

 

 

 

6. ActionBar详解,布布扣,bubuko.com

6. ActionBar详解

标签:android   des   style   blog   http   color   os   strong   

原文地址:http://www.cnblogs.com/androidsj/p/3872117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!