• 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;
        }
        
    
    
    }
  • 相关阅读:
    IIS寄托多网站找到对应ID的两种方式
    JMETER请求失败:空Header导致
    JMETER使用CURL导入功能
    浏览器调试技巧:使请求不实际发送出去来获取请求参数等场景
    dotnet 6 使用 string.Create 提升字符串创建和拼接性能
    XAML 给资源起个好名字 用 StaticResource 起一个别名
    dotnet 读 WPF 源代码笔记 为什么加上 BooleanBoxes 类
    DedeCMS子栏目
    DedeCMS文章列表
    DedeCMS页面分类
  • 原文地址:https://www.cnblogs.com/JczmDeveloper/p/3669242.html
Copyright © 2020-2023  润新知