標籤:bar who 效果 ast switch 分享 finish button api
條件:當前項目匯入了ActionBarSherlock這個jar包,這個jar包的作用為了程式的相容性,考慮低版本的問題.
學習ActionBarSherlock參考部落格連結:http://blog.csdn.net/icyfox_bupt/article/details/9286387
接下來貼上代碼
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- //這行必須要寫
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- return true;
- }
-
- //監聽返回按鈕操作事件
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()){
- case android.R.id.home:
- Toast.makeText(this, "您點擊了返回按鈕", Toast.LENGTH_LONG).show();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
如下:
如果沒有引入ActionBarSherlock這個jar包的寫法如下
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- getActionBar().setDisplayHomeAsUpEnabled(true);//這句話必須要寫
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home://增加點擊事件
- finish();
- break;
- default:
- break;
- }
- return super.onOptionsItemSelected(item);
- }
順便介紹幾個ActionBar的方法
ActionBar.setDisplayHomeAsUpEnabled(flag); //控制左上方返回按鈕是否顯示
ActionBar.setDisplayShowHomeEnabled(flag);//控制左上方返回按鈕右邊的表徵圖是否可以顯示
ActionBar.setHomeButtonEnabled(flag);//左上方返回按鈕是否可以點擊
ActionBar.setDisplayOptions(int);可以一次性設定多個
參數是ActionBar裡面的一些常量的值,官方API已經如下:
Android重寫菜單增加系統內建返回鍵