ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android ActionBar

2022-09-13 14:00:17  阅读:545  来源: 互联网

标签:ActionBar return menu item toggle Android true


android的ActionBar是3.0才推出的,3.0之前称之为AppBar。为了向后兼容,ActionBar位于Android的支持库AppCompat中,所以要使用ActionBar先必须依赖AppCompat库(现在新建的工程默认都依赖此库了)

implementation 'androidx.appcompat:appcompat:1.3.0'

如果没有在主题Theme中或Activity的代码中明确指定NoActionBar,那么ActionBar都是默认存在的,要获取ActionBar对象使用

ActionBar ationBar = getSupportActionBar();

ActionBar就四个东西
image

左一 一般联动DrawerLayout使用

    private DrawerLayout dl;
    private ActionBarDrawerToggle toggle;
        toggle = new ActionBarDrawerToggle(this,dl,R.string.open,R.string.close);
        dl.addDrawerListener(toggle);
        toggle.syncState();
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        if (toggle.onOptionsItemSelected(item)) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

左二一般显示图标和标题

        getSupportActionBar().setDisplayShowHomeEnabled(true);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher_round);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
		...

右一右二使用menu菜单

  • 新建 res/menu/main_menu.xml ,示例如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/main_search"
        android:icon="@android:drawable/ic_menu_search"
        android:title="search"
        app:showAsAction="always" />
</menu>
  • 在Activity中的代码如下:
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main_menu,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        if (item.getItemId() == R.id.main_search){

             return true;
        }
        return super.onOptionsItemSelected(item);
    }

标签:ActionBar,return,menu,item,toggle,Android,true
来源: https://www.cnblogs.com/maowuge/p/16688877.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有