自定义ActionBar

Android自定义ActionBar实战指南 ActionBar的功能十分强大,它不仅可以展示应用程序的品牌标识,还能为用户提供菜单项以执行操作,例如搜索、分享、设置等。此外,ActionBar支持下拉刷新、导航栏抽屉(Navigation Drawer)等交互功能,增强了应用的导航能力和用户体验。ActionBar的灵活性还体现在它能够响应各种用户交互,比如点击事件、长按事件等,从而实现动态功能。开发者可以利用这些功能,打造更加符合用户需求的高效操作界面。在Android开发中,ActionBar的主题属性决定了其外观和行为。 阅读详情

首先看看我们这次ActionBar的最终效果

这里写图片描述

Step1:新建一个Layout文件,layout.menu_home.xml 如下

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_marginLeft="@dimen/action_bar_icon_margin"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:src="@drawable/ic_action_bar" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/home_activity"
        android:textColor="@color/white"
        android:textSize="@dimen/action_bar_title" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_marginRight="@dimen/action_bar_icon_margin"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:src="@drawable/ic_action_me" />

</RelativeLayout>

Step2:在onCreate中添加代码

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.menu_home);

接下来我们会看到这样的结果,为了便于观察我把ActionBar的背景换成绿色:
这里写图片描述

我们看到,在自定义的Layout左边有几个像素的黑色,经过多番调查,发现这是AppTheme中ActionbarStyle的默认样式,他总有这么几个像素的Padding,接下来我们改变默认样式就可以了。

Step3:在styles.xml添加或修改这么几行代码

<!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <!-- <item name="logo">@drawable/ic_action_bar</item> -->
        <!-- <item name="displayOptions">useLogo|showHome|showTitle</item> -->
        <item name="contentInsetStart">0dp</item>
        <item name="contentInsetLeft">0dp</item>
    </style>

我们再看看最终效果

这里写图片描述

项目中的资源链接:
http://www.icons4android.com/

自定义 actionbar 和 修改actionbar 样式 包括2个代码例子,一个是自定义 actionbar 适合用于3.0以下版本也需要使用actionbar。一个例子是 修改actionbar style样式,如果替换背景等。 立即下载

相关推荐

自定义ActionBar样式

自定义ActionBar样式, title居中。

自定义ActionBar的两种方式(静态&动态)

说明Android 3.0及以上已经有了ActionBar的API,有了ActionBar的API之后可以随意自定义自己漂亮的ActionBar了基本知识了解1.Actionbar’s API1.1 setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。 true 图标可以点击

郑志雄 4121

自定义的 Action Bar

Android UI开发第二十五篇——分享一篇自定义的 Action Bar

安卓开发(7)-导航栏的使用与自定义

上篇说到了尝试自定义标题栏。 1.一些常识 这里先介绍一下关于页面的一些常识术语。和自定义导航栏无关,仅作扩展知识。 上面提到了,我这里要自定义标题栏,也就是上图中的额ActionBar这个东西。然后在官方文档中找到了ActionBar的API但是却没有找到先关的配置说明指引,故而还是百度了一波。希望了解的可以读读这篇文章:【Android UI设计与开发】8.顶部标题栏(一)ActionBar...

梦否 1835

Android如何创建自定义ActionBar

当多个界面都有很多相似部分时,可以考虑创建一个功能较全的模板。而在需要时,可以通过引用模板来实现自己想要实现的功能。比如适配器 Adapter,当很多的适配器都差不多时,就可以通过打造一个通用的适配器来实现。本例中主要是如何创建自定义的 ActionBar。 观察上图的,当切换界面时,每个界面的顶部最多只有两个图标,而且有4个界面具有类似特性。所以可以考虑通过自定义控件来创建UI模板。 由于是需要创建出具有重用功能的复合控件,所以通常需要继承 ViewGroup ,在给它添加指定功能的控制。给其指定一些可配置的属性,让其具有更强的扩展性。 本例可以简单的创建一个 TopBar 来继承 Rel

SPAD 单光子雪崩二极管

SPAD,全称为,是一种高灵敏度的光电探测器件,能够在非常低的光照水平下检测单个光子。SPAD在工作时,当一个光子被探测器吸收后,能够触发一个雪崩效应,产生一个可以被检测到的电信号。

qq_42786033的博客 1万+

自定义Actionbar

最近在项目中大量使用actionbar,所以把自定义的一些属性总结一下。 效果如下: 1、自定义actionbar 在theme的style中设置<item name="android:actionBarStyle">@style/CustomActionBar</item> <!-- actionbar样式 --> <style name="CustomActionBar"

依旧00的专栏 1351

测试丢包_电信IPRAN承载LTE业务丢包故障处理案例

银川 景旭阳电信IPRAN承载LTE业务丢包故障处理案例一.故障现象某地市IPRAN网络承载LTE基站业务,客户反馈近期丢包严重,基站侧ping侧核心网EPC丢包达到10%左右;且基站数量在10个左右,并分布在同一地区,需要IPRAN网络协助排查;随后查看了IPRAN网络;发现这些业务所在基站的PW-BFD历史告警存在频繁的UP/DOWN告警;综上信息展开故障处理,初步判断由于BFD频繁...

weixin_29740921的博客 1912

Android自定义TitleBar/ActionBar

一开始我便很困惑,TitleBar和ActionBar是什么关系? 我们知道: ActionBar是在android3.3之后推出使用的android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"

阳光玻璃杯 1946

【人工智能】AI算法系统设计与算法建模的详细阐述

AI算法系统设计与算法建模是人工智能领域中的核心任务之一,它涉及从问题定义、数据收集、算法选择、模型构建到系统部署的全过程。以下是对AI算法系统设计与算法建模的详细阐述

weixin_51306394的博客 4355

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 827

Android ActionBar学习(二) -- 自定义ActionBar Style

转载请注明出处:        上一篇文章我们初步了解了ActionBar的概念及为ActionBar自定义添加不同的Action item,Action View以及Action Provider等实现方法,接下来的这一片文章我们将讨论如何为ActionBar自定义不同的Style(样式),实现具有自己独特风格的Action Bar。 自定义Actionbar Style    

叶功恒的博客专栏 7079

基于因果推理的LLM去毒:精准定位注意力头实现高效干预

在大型语言模型(LLM)的部署与应用中,模型安全与可控性是核心挑战之一。传统方法如全参数微调成本高昂,且可能损害模型通用能力。本文聚焦于一种基于因果推理的精准干预技术,其原理在于利用因果发现算法定位Transformer模型中与“毒性”输出存在强因果关联的特定注意力头。该技术通过分析注意力头的激活模式与生成文本毒性分数之间的因果关系,识别出关键责任单元,而非依赖传统的相关性分析。其技术价值在于实现了轻量级、高可解释性的模型行为修正,能以极低的参数改动代价有效降低模型在敏感话题上的有害输出。在应用场景上,该方

weixin_32667439的博客 314

自定义ActionBar的样式

一、在res-values-styles.xml,改变ActionBar的样式 @drawable/actionbar_bg useLogo @style/actionbar_custom 二、在清单文件中使用自定义的主题 an

ZYFLYX的专栏 764

某物data魔改与变种算法还原(含加解密Py纯算)

某物data加解密、设备指纹魔改、变异、自定义加密分析与纯算还原

吴秋霖的博客 1281

YOLOv8改进 | 注意力机制 | 添加DAttention (DAT)注意力机制实现极限涨点

本文给大家带来的是YOLOv8改进DAT的教程,其发布于2022年CVPR2022上同时被评选为Best Paper,由此可以证明其是一种十分有效的改进机制,其主要的核心思想是:引入可变形注意力机制和动态采样点(听着是不是和可变形动态卷积DCN挺相似)。同时在网络结构中引入一个DAT计算量由8.9GFLOPs涨到了9.4GFLOPs。本文的讲解主要包含三方面:DAT的网络结构思想、DAttention的代码复现,如何添加DAttention到你的结构中实现涨点,下面先来分享我测试的对比图。

Snu77的博客 1万+

自定义actionbar

android中的actionbar可提供自定义view,具体是先写好自定义view的布局,然后在代码中获取Actionbar对象,调用 setCustomView方法。 但是这样,它还是会显示前面的LOGO,即使你设置 不显示 LOGO和标题。解决的方法是调用 actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 具体代码如下

一个码农的博客 9403

【数据集】中国陆地生态系统通量观测网 ChinaFLUX

【数据集】中国陆地生态系统通量观测网 ChinaFLUX

WW、forever的博客 194

Android自定义ActionBar

Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar包,参照的是开源的UI组件GreeenDroid,项目主页:https://github.com/cyrilmottier/GreenDroid 。提取出关于ActionBar的相关文件,你可以放在

u013761606的专栏 354

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android 自定义actionbar视图

actionbar自定义视图

黑蛋儿 811

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

自定义 ActionBar

源码下载:http://download.youkuaiyun.com/detail/u010469432/6804697      大家在开发的过程中,对于很多APP的ActionBar的样式的要求是不一样的,这里我写了一个自定义的ActionBar,其实就相当于是TitleBar。样式都可以自己定义。这样使用起来比较方便。不用去更改系统的ActionBar。      效果图:

软测之路 1180

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ActionBar 自定义布局定义

ActionBar 自定义布局定义 Android系统中ActionBar默认的布局不美观且难于控制,通过为ActionBar自定义布局的方式可以灵活控制ActionBar。 效果: 工具/原料 android studio3.5集成开发环...

weixin_30346033的博客 435

Android关于自定义actionbar会闪原来的actionbar

目前正在学习android,在学习actionbar的时候试着自定义actionbar的样式,主要是想把actionbar的title居中,代码如下:  private boolean initCustomActionBar() {         mActionbar = getActionBar();         if(mActionbar == null) {             

quanpuyan4784的博客 583

ActionBar自定义布局

1,Theme引用的style中添加      50dp item自定义actionBar的高度,在布局中写高度是无效的 2,写actionBar的布局     android:layout_width="match_parent"     android:layout_height="match_parent"     android:background="

夜明的博客 577
上一篇: Android Studio——Gradle 版本回退
下一篇: 第10章 使用网络技术
coder_ken
博客等级 码龄12年 14粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值