安卓学习日记——ActionBar

干货分享:Android沉浸式状态栏 + scrollView顶部伸缩 + actionBar渐变 最近需求要做一个拉缩渐变的状态栏,往上拉的时候,需要显示actionBar,这个过程是渐变的,顶部的图片背景能实现拉缩,并且还要实现状态栏沉浸式 效果如如下: 实现状态栏的透明化 实现ScrollView的拉缩 实现ActionBar的渐变 实现 1、至于试下实现ScrollView的拉缩这个效果很简单重写onTouchEvent方法,利用滑动的垂直方向的距离,然后在设置图片的大小 ... 阅读详情
  • ActionBar介绍
    Action bar 的主要目的是:
    1、提供一个用于识别应用程序的标示和用户的位置的专用空间。
    2、在不同的应用程序之间提供一致的导航和视觉体验。
    3、突出Activity的关键操作(如“搜索”、“创建”、“共享”等),并且在可预见的方法内给用户提供快捷的访问。

获得ActionBar的方法很简单:ActionBar actionBar=this.getActionBar();
注意代码中的主题设置是否去掉ActionBar,否则getActionBar()将返回null。

ActionBar actionBar=this.getActionBar();
//        actionBar.hide();//隐藏ActionBar
  • ActionBar标题栏
    使用分离式操作栏
    要启用分离式操作栏,只需简单的在或元素中添加uiOptions="splitActionBarWhenNarrow"属性设置就可以了。
    导航栏使用应用图标
    应用程序应该在这个图标上响应以下两个操作之一:
    1、返回应用程序的“主”Activity;
    2、向应用程序上级页面导航。
    当用户触摸这个图标时,系统会调用Activity带有android.R.id.home ID的onOptionsltemSelected()方法。
    注意:如果你要使用应用图标来返回主页,要注意从Android4.0(API级别14)开始,必须通过调用setHomeButtonEnabled(true)方法确保这个图标能够作为一个操作性

搜索菜单项的使用
在onCreateOptionsMenu方法下

MenuItem searchItem= menu.findItem(R.id.search);
        SearchView searchView= (SearchView) MenuItemCompat.getActionView(searchItem);
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                Toast.makeText(getApplicationContext(),query,Toast.LENGTH_SHORT).show();
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                return false;
            }
        });

menu文件下添加item
在这里插入图片描述
效果图
在这里插入图片描述
在这里插入图片描述
分享菜单项的使用
在menu文件下添加item
在这里插入图片描述
在onCreateOptionsMenu方法下

MenuItem shareItem=menu.findItem(R.id.share);
       ShareActionProvider mShareActionProvider = (ShareActionProvider)
               MenuItemCompat.getActionProvider(shareItem);
       mShareActionProvider.setShareIntent(getDefaultIntent());

自定义一个方法getDefaultIntent()

private Intent getDefaultIntent(){
            Intent intent=new Intent(Intent.ACTION_SEND);
            intent.setType("image/*");
            return intent;
    }

效果图展示
在这里插入图片描述
导航栏实现
效果图
在这里插入图片描述
代码块

public class Main3Activity extends AppCompatActivity implements ActionBar.TabListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        ActionBar actionBar=getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        actionBar.setDisplayShowTitleEnabled(false);
        //添加选项卡
        actionBar.addTab(actionBar.newTab().setText("新闻").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("视频").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("音乐").setTabListener(this));
        actionBar.addTab(actionBar.newTab().setText("游戏").setTabListener(this));


    }

    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
        Toast.makeText(this,tab.getText(),Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

    }
}
nCode:GlyphWorks案例教程一 nCode GlyphWorks案例一Comparing Frequency Content of Two Different Tests案例文件目标配置选择数据 Comparing Frequency Content of Two Different Tests 在本案例中,我们将比较来自两个不同测试的六个加速计通道的频率内容。将三轴加速度计放置在车辆的左前角和右前角,然后分别在两个不同的试验路面上行驶12分钟以上。 案例文件 此案例的文件(采用nCode DAC格式)位于nCode安装目录下的\demo 阅读详情

相关推荐

小米路由器R1D进阶玩法:MIXBOX工具箱安装与插件管理指南

本文详细介绍了为小米路由器R1D安装MIXBOX工具箱的完整指南。通过开启SSH、执行一键安装脚本,用户可以轻松解锁路由器的进阶功能,如安装离线下载、内网穿透等插件,从而将旧设备转变为强大的家庭网络服务中心。

weixin_29292431的博客 1116

ActionBar用法概述

ActionBar: 1. 定义: android3.0之后引入的,是一个导航控件,用以代替传统屏幕顶端的标题栏。要兼容低版本使用support library v7中ActionBar就可以了 ActionBar显示在屏幕顶部的控件,它包括了在左边显示的应用的logo图标和右边操作菜单的可见项 存在的目的: 在不同的应用程序之间提

iblade的博客 1150

手把手教你用Cesium和RayMarching实现逼真体积云(附完整Shader代码)

本文详细介绍了如何利用Cesium和RayMarching技术实现逼真的体积云效果,包括环境准备、核心逻辑、云层建模和光照增强等关键步骤,并提供了完整的Shader代码。通过噪声函数选型、动态风场模拟和多重散射近似等技术,开发者可以在数字地球可视化项目中创建沉浸式天气效果,显著提升场景的真实感。

weixin_29230649的博客 416

Android学习——ActionBar

ActionBar 1.ActionBar介绍 Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果。 Action bar的主要目的是: 提供一个用于识别应用程序的标示和用户的位置的专用空间。 在不同的应用程序之间提供-致的导航和视觉体验。 突出Activity的...

UUUUUltraman的博客 519

SAP MM自动化进阶:STO交货单自动创建的配置与优化

本文深入解析了SAP MM模块中实现公司间库存调拨订单(STO)交货单自动创建的完整配置流程与优化策略。通过激活自动交货与绑定发货点两大核心配置,打通自动化链路。重点探讨了如何集成ATP可用性检查以智能处理库存不足等异常场景,确保自动化流程的可靠性与业务贴合度,并提供了进阶监控与问题排查方法,助力企业显著提升供应链效率。

weixin_29206669的博客 124

从‘包饺子’到‘包络线’:一个生活化比喻讲透长期与短期成本决策

本文通过饺子馆经营的生活化比喻,深入浅出地解析了长期与短期成本决策的核心逻辑。从调整人力(可变成本)到扩建厨房(固定成本),揭示了包络线理论在商业决策中的实际应用,帮助企业主在规模经济与成本控制间找到平衡点。

weixin_32006655的博客 342

学习Android开发中遇到getActionBar()返回null,问题分析

问题:通常activity.getActionBar由于异常而返回null? 问题分析: 一、检查当前sdk的版本 看过Android的开发文档都知道,现在要启用ActionBar,那么应用运行的平台必须是Android3.0以上,也就是说sdk的版本号必须大于11,这个可以在build.gradle中看到。现在市面上的android已经是Android 9 ,Android 10,Android11,对于开发者这个sdk版本过低的问题应该不会遇到。 build.gradle如下: 1. defaultC

raolulu的博客 3555

OpenClaw记忆插件升级实战:从memory-lancedb-pro安装到AgentSkill封装

向量数据库作为现代AI应用的核心基础设施,通过将非结构化数据转换为高维向量并利用相似度检索实现语义理解。其原理基于嵌入模型生成向量表示,结合近似最近邻搜索算法实现高效查询。这项技术为智能体系统提供了长期记忆和上下文感知能力,显著提升了对话连贯性与任务执行效率。在AI智能体开发领域,向量数据库常用于知识库构建、对话历史管理和个性化推荐等场景。本文聚焦OpenClaw框架中memory-lancedb-pro插件的部署实践,针对**插件加载顺序**和**Apache Arrow依赖**两大常见痛点,通过封装成可

weixin_42525482的博客 638

ActionBar导航功能使用介绍

显示和隐藏ActionBar 在清单文件的Application中设置整个项目的主题 在清单文件的Activity中设置单个窗体的主题 android:theme="@android:style/Theme.Holo.NoActionBar"隐藏ActionBar 代码控制ActionBar的显示和隐藏 ActionBar bar = getActionBar()//

张小贝的博客 994

网络工程师的Python入门实战:手把手教你写交换机配置备份脚本

本文详细介绍了如何利用Python为网络工程师开发一个高效的交换机配置备份脚本,涵盖环境搭建、设备连接方案、智能设备发现、多因素认证、异常处理、配置差异对比等关键步骤。通过实战案例展示如何将备份时间从4小时缩短至15分钟,显著提升运维效率,特别适用于华为交换机等设备的配置导出与备份需求。

weixin_30291791的博客 305

【光子AI / Photon.AI】manus 通用 Agent 的实现核心技术原理与应用

摘要 Manus是一款由国内团队开发的通用AI Agent,其核心技术原理基于多智能体协作架构、云端全能沙箱、规划-执行-反思循环等系统工程方法。与传统的对话式AI不同,Manus能够在独立的Linux虚拟机环境中自主规划并执行复杂任务,通过编写和运行代码来解决问题,具备强大的纠错能力和工具使用能力。 核心应用场景包括深度行业研究、自动化办公、生活助理、辅助编程和跨平台信息整合等。Manus的工程化落地优势体现在沙箱环境、多智能体调度和容错机制等方面,使其能够完成需要多步骤操作和多种工具调用的复杂任务,将A

AI天才研究院 668

getActionBar()为null的解决方法总结(引用他人)

  最近在看android actionBar的使用,环境为AndroidStudio,建一个简单的工程,功能为:两个按钮,一个单击用于显示actionbar,一个用于隐藏actionbar。默认actiobar显示。理想状况如下图所示:   建好工程并运行,发现actionbar默认不显示(不显示上图所示的hello部分),如下图所示:   且单击“显示actionBar...

weixin_30901729的博客 225

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android学习日记:关于ActionBar和Menu

最近看到一篇新闻,google工程师督促android开发者不要依赖物理Menu键,而是要多用下拉菜单,以后的android会放弃三个物理按键的设定,只保留一个。然后就试着学习了下在ActionBar中的按钮以及下拉菜单是如何实现的。但是只能找到一部分的例子,不过还是有所收获,以下是效果图: 关于ADD按钮其实就是物理Menu键的一种,只不过在定义该按钮时加上一行androi

wcnmcsnm的专栏 1751

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android学习日记:actionbar中按钮的下拉菜单实现

今天找到了实现actionbar里面按钮下拉菜单的实现方法。使用PopupWindow即可。源码如下: package com.bruce.actionbarlist; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutIn

wcnmcsnm的专栏 2100

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android 自学日记(四) ---ActionBar

启动和关闭ActionBar; 添加ActionBar的菜单选项; ActionBar选项的点击事件; 图标导航;

Hubert的博客 666

安卓日记——设计简洁好看的UI

最近看到谷歌的to-do的那个demo,虽然他的mvp暂时还看不懂,但我觉得他的界面还是挺好看的,所以决定跟着模仿一下 效果图 主要是用到下面几个东西 ToolBar ActionBarDrawerToggle Menu PopupMenu DrawerLayout FrameLayout ImageButton 首先说明一点,不同部分的布局分开写很重要这样以后修改起来就会很方便,而不用慢

饥渴计科极客杰铿的博客 4268

android 引入ActionBar报错Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat t

android 引入ActionBar报错Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat t

zhouguizhi 2025

【Android开发日记】使用 NavigationDrawer + fragment 实现sherlockActionBar+slidingmenu 功能

slidingmenu + sherlockActionBar 是Android APP比较新的一种布局方式

GeekLei 3137

日积月累--android基础知识日记

这篇文章主要用于记录日常的android基础知识。

dabaoonline的专栏 891

安卓日记——玩转Material Design(伸缩顶部篇)

Material Design里面有一个很好玩的一个就是顶部伸缩,这样会给用户很好的交互效果 接下来我给大家解析一下大概是怎么个弄法 这次用的东西比较多,基本是都是Material Design的控件 主要有: CoordinatorLayout AppBarLayout CollapsingToolbarLayout RecyclerView 1.导入material design的包com

饥渴计科极客杰铿的博客 3045

Android:项目实战学习笔记

从头写一个安卓项目 新建很多很多的包 写引导页 参考链接:

bing_bing_a的博客 939

【Android自学日记】【转】Android Fragment 真正的完全解析(下)

上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:AndroidFragment 真正的完全解析(上)。 本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragment创建对话框,如何与Act...

weixin_30507481的博客 110

[仿南航app开发日记3]侧滑菜单实现

放南航app开发日记3

伯兰的博客 1614

Android中桌面上显示的应用名称和MainActivity的label相同,或者说活动名和应用名产生干扰的解决办法

一、说明 想在MainActivity顶部的ActionBar上面显示当前活动的名称,于是我就给MainActivity加上了android:label属性。但是问题来了,手机桌面上应用的名称非得和MainActivity的label名称相同。应用是应用的名称,活动是活动的名称,实在不理解这种设定。 二、解决办法 如果非要在顶部显示当前活动的名称,建议还是不要使用默认的ActionBar了,可以改...

英勇的博客 1770

安卓开发日记2——思念计数器

一.应用背景 最近看了一部自认为很好看的电影——彭于晏,陈意涵演的《听说》,在电影的最后,陈意涵演的轩轩告诉男主角,每次想到他的时候就会往水鸟储蓄罐里面投一个硬币。我想很多年轻人都,包括我自己,都有过这样的困惑,我到底喜不喜欢某人,或者我该不该向某人表白,而该应用的主要功能就是帮助年轻人鼓起勇气追求幸福。 二.功能介绍 用户可以在本应用中设置

快乐的修补匠的专栏 1634

Android基础教程10 应用栏

本篇我们利用Toolbar为我们的应用添加一个简单的应用栏。 我们先来看看我们现在的程序界面: 我们的程序已经有默认的ActionBar,这个大家肯定都了解。那么这个ActionBar是在哪里指定的呢? 在AndroidManifest.xml中默认为项目指定了主题: 我们再来看看这个AppTheme又定义了写什么东西,我们可以在values/styles.xml下找到其定义: 接下来我们就...

秋殇阁 458
上一篇: 安卓学习日记——Fragments
下一篇: 安卓学习日记——TelephonyManager
chen_xiaoke
博客等级 码龄8年 32粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值