Android如何创建自定义ActionBar

创建自定义 ActionBar 通常涉及以下步骤:

1.在应用程序清单文件(AndroidManifest.xml)中启用 ActionBar。

<uses-sdk
  android:minSdkVersion="14"
  android:targetSdkVersion="19" />
<application
  android:allowBackup="true"
  android:icon="@drawable/ic_launcher"
  android:label="@string/app_name"
  android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
  <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
  </activity>
</application>

2.创建自定义 ActionBar 布局文件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
  <TextView
    android:id="@+id/titleText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:textColor="#FFFFFF"
    android:text="黑马面面" />
  <ImageView
    android:id="@+id/back"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:padding="10dp"
    android:onClick="clickBack"/>
</RelativeLayout>

3.创建新的 ActionBar 布局并在 Activity 中使用它。

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.actionbar_layout, null);
actionBar.setCustomView(v);

示例一:自定义 ActionBar 背景颜色

在上述自定义布局文件的根标签中增加如下属性:

android:background="#FF0000"

示例二:自定义 ActionBar 左侧返回按钮的点击事件

在布局文件中的 ImageView 标签中增加如下属性:

android:onClick="clickBack"

在 Activity 中增加如下方法:

public void clickBack(View v) {
  finish();
}

这两个示例均为自定义 ActionBar 布局文件中增加相应元素并实现相应的逻辑,可以拓展到更复杂的自定义 ActionBar 功能上。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android如何创建自定义ActionBar - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)

    下面是详细的PHP常用字符串操作函数实例总结: 1. trim函数 trim函数可以去除字符串开头和结尾的空格、制表符、换行符等空白字符。这个函数的语法如下: trim($str, $charlist); 其中,$str表示要处理的字符串,$charlist表示要去除的字符列表,如果没有指定,则会去除默认的空白字符。 示例1:去除字符串开头和结尾的空格 $s…

    other 2023年6月20日
    00
  • springboot自动配置原理以及spring.factories文件的作用详解

    Spring Boot自动配置原理以及spring.factories文件的作用详解 1. Spring Boot自动配置原理 Spring Boot通过自动配置机制,减轻了开发人员在构建Spring应用程序时的繁琐配置工作。其核心原理是根据项目的依赖和配置情况,自动加载和配置默认的Bean实例。 Spring Boot自动配置机制的实现主要依赖于以下两个关…

    other 2023年6月28日
    00
  • 「雕爷学编程」Arduino动手做(28)——RGB全彩LED模块

    「雕爷学编程」Arduino动手做(28)——RGB全彩LED模块 一、介绍 本篇文章将介绍如何使用Arduino控制RGB全彩LED模块。RGB全彩LED模块是一种能够输出红、绿、蓝三种颜色的LED模块,通过组合三种颜色可以输出各种颜色的光线。本篇文章将会介绍如何控制RGB全彩LED模块的颜色,并在实际环境中进行实验演示。 二、材料 Arduino UNO…

    其他 2023年3月28日
    00
  • sql一条数据拆分成多条

    SQL一条数据拆分成多条的完整攻略 在SQL中,有时需要将一条数据拆分成多条数据,以便更好地处理和管理。本文将介绍SQL一条数据拆分成多条的完整攻略,包括定义、方法和两个示例说明。 定义 一条数据拆分成多条,是指将一条数据按照某种规则拆分成多条数据。拆分后的数据可以存储到同一个表中,也可以存储到不同的表中。拆分后的数据可以更好地处理和管理,提数据的可用性和性…

    other 2023年5月9日
    00
  • Android多设备多module打包fat-aar(最新推荐)

    Android多设备多module打包fat-aar(最新推荐)攻略 在Android开发中,有时候我们需要将多个module打包成一个fat-aar文件,以便在多设备上使用。这个攻略将详细介绍如何使用最新推荐的方法来实现这个目标。 步骤一:配置项目 在项目的根目录下的build.gradle文件中添加以下代码: buildscript { reposito…

    other 2023年10月13日
    00
  • SpringBoot解决同名类导致的bean名冲突bean name conflicts问题

    SpringBoot解决同名类导致的bean名冲突问题攻略 问题描述 在使用SpringBoot开发项目时,可能会遇到同名类导致的bean名冲突问题。当同一个包下存在多个同名类时,Spring容器在进行bean装配时无法准确地确定要注入的是哪个类的实例,从而引发bean名冲突问题。 解决方案 为解决同名类导致的bean名冲突问题,可以采取以下几种方式: 1.…

    other 2023年6月28日
    00
  • 关于cmd:如何从.ps1文件运行powershell脚本?

    以下是关于“关于cmd:如何从.ps1文件运行powershell脚本?”的完整攻略,过程中包含两个示例。 背景 PowerShell是一种跨平台的任务自化和配置框架,它可以在、Linux和macOS上运行。PowerShell脚本是一种用于自动化任务的脚本语,可以通过PowerShell命令行或PowerShell ISE(集成脚本环境)运行。本攻略将介绍…

    other 2023年5月9日
    00
  • 苹果发布OS X Yosemite DP6第六个开发者预览版 OS X 10.10更新内容介绍

    苹果发布OS X Yosemite DP6第六个开发者预览版 今年6月,苹果公司在其全球开发者大会(WWDC)上发布了 Yosemite操作系统的beta版。这个夏天以来,苹果已经发布了5个开发者预览版,最近又发布了DP6预览版。 OS X Yosemite 10.10 更新内容介绍 以下是OS X Yosemite DP6预览版的一些重要更新内容: Spo…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部