• Android开发之Action Bar


    Action Bar代替了传统的位于设备屏幕的标题栏,主要用来显示应用程序的图标和活动的名称以及添加定制动作项等功能。

    1. 显示和隐藏Action Bar

    显示和隐藏Action Bar 一般有两种方式,一种是配置xml文件方式,一种是编程方式。

    (1)xml配置方式,就是在AndroidManifest.xml中添加如下代码:

    android:theme="@android:style/Theme.Holo.NoActionBar"

    (2)编程方式实现如下:

            ActionBar actionBar = getActionBar();
            actionBar.setDisplayHomeAsUpEnabled(true);//设置应用程序图标可被单击
            actionBar.hide();        

    2.动作项的添加、定制以及应用程序图标的定制

    除了显示应用程序的图标和活动名称外,还可以添加动作项。动作项是应用程序中经常执行的一些操作的快捷方式。动作项添加和定制的实现方法如下:

    package com.example.myactionbar;
    
    import android.net.rtp.RtpStream;
    import android.os.Bundle;
    import android.R.anim;
    import android.app.ActionBar;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.Toast;
    
    public class MyActionBarActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            ActionBar actionBar = getActionBar();
            actionBar.setDisplayHomeAsUpEnabled(true);//设置应用程序图标可被单击
    //        actionBar.hide();
    //        actionBar.show();
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // TODO Auto-generated method stub
            super.onCreateOptionsMenu(menu);
            createMenu(menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
            return MenuChoice(item);
        }
        private void createMenu(Menu menu){
            MenuItem menuItem1 = menu.add(0, 0, 0, "菜单1");
            menuItem1.setIcon(R.drawable.setting);
            menuItem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
            
            
            MenuItem menuItem2 = menu.add(0, 1, 1, "菜单2");
            menuItem1.setIcon(R.drawable.ic_launcher);
            menuItem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
            
            MenuItem menuItem3 = menu.add(0, 2, 2, "菜单3");
            menuItem1.setIcon(R.drawable.setting);
            menuItem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
            
            MenuItem menuItem4 = menu.add(0, 3, 3, "菜单4");
            menuItem1.setIcon(R.drawable.ic_launcher);
            menuItem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
            
            MenuItem menuItem5 = menu.add(0, 4, 4, "菜单5");
            menuItem1.setIcon(R.drawable.ic_launcher);
            menuItem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        }
        private boolean MenuChoice(MenuItem item){
            switch (item.getItemId()) {
            case android.R.id.home:
                Toast.makeText(this, "您点击了应用程序的Icon", Toast.LENGTH_LONG).show();
                
                Intent intent = new Intent(this,MyActionBarActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
                
                return true;
            case 0:
                Toast.makeText(this, "您点击了菜单1", Toast.LENGTH_LONG).show();
                return true;
                
            case 1:
                Toast.makeText(this, "您点击了菜单2", Toast.LENGTH_LONG).show();
                return true;
            case 2:
                Toast.makeText(this, "您点击了菜单3", Toast.LENGTH_LONG).show();
                return true;
            case 3:
                Toast.makeText(this, "您点击了菜单4", Toast.LENGTH_LONG).show();
                return true;
            case 4:
                Toast.makeText(this, "您点击了菜单5", Toast.LENGTH_LONG).show();
                return true;
            }
            return false;
        }
        
    
    
    }
  • 相关阅读:
    【BZOJ4337】[BJOI2015] 树的同构(哈希水题)
    【BZOJ4176】Lucas的数论(杜教筛)
    【BZOJ2627】JZPKIL(数论大杂烩)
    【BZOJ2228】[ZJOI2011] 礼物(巧妙的三部曲)
    【BZOJ2954】[POI2002] 超级马(暴搜)
    【BZOJ4498】魔法的碰撞(动态规划)
    【BZOJ3489】A simple rmq problem(三维数点)
    【BZOJ2626】JZPFAR(KD-Tree)
    【BZOJ4520】[CQOI2016] K远点对(KD-Tree)
    【BZOJ1941】[SDOI2010] Hide and Seek(KD-Tree)
  • 原文地址:https://www.cnblogs.com/JczmDeveloper/p/3669242.html
Copyright © 2020-2023  润新知