zoukankan      html  css  js  c++  java
  • 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;
        }
        
    
    
    }
  • 相关阅读:
    Sublime Text shift+ctrl妙用(转载)
    编写一致的符合习惯的javascript
    Vue 部署单页应用,刷新页面 404/502 报错
    http 缓存策略浅析
    Vue 项目优化,持续更新...
    web安全之——XSS、CSRF
    javascript 易错知识点合集
    深入理解 js this 绑定机制
    javascript 模块依赖管理的本质
    VUE 项目刷新路由指向index.html
  • 原文地址:https://www.cnblogs.com/JczmDeveloper/p/3669242.html
Copyright © 2011-2022 走看看