Android开发学习(9)--BeatBox(2)

2024-03-04 00:30
文章标签 android 学习 开发 beatbox

本文主要是介绍Android开发学习(9)--BeatBox(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、实验步骤
    • 1.颜色资源
      • a 定义几种颜色(res/values/colors.xml)
      • b 添加样式(res/values/styles.xml)
      • c 使用样式(res/layout/list_item_sound.xml)
      • d 继承样式(res/layout/styles.xml)
    • 2. 添加主题颜色
      • a 自定义主题属性(res/values/styles.xml)
      • b 设置窗口背景(res/values/styles.xml)
      • c 使用BeatBoxButton样式(res/values/styles.xml)
  • 二、模拟器运行结果
  • 三、真机运行结果


前言

既然BeatBox应用的音效能吓退人,它的用户界面也应透出一定的威慑力。
当前,BeatBox应用依然还是一副Android千年不变的老面孔。按钮普通,配色灰暗。整个应 用看上去毫不起眼,没有品牌特色。
不过我们有技术,使用样式和主题,就能定制出漂亮的用户界面。与之前相比,新界面更加美观、惹眼,独具风格。

一、实验步骤

1.颜色资源

a 定义几种颜色(res/values/colors.xml)

<resources>      
<color name="colorPrimary">#3F51B5</color>     
<color name="colorPrimaryDark">#303F9F</color>     
<color name="colorAccent">#FF4081</color> <color name="red">#F44336</color>     <color name="dark_red">#C3352B</color>     <color name="gray">#607D8B</color>     <color name="soothing_blue">#0083BF</color>     <color name="dark_blue">#005A8A</color> </resources> 

b 添加样式(res/values/styles.xml)

<resources>  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">   <item name="colorPrimary">@color/colorPrimary</item>   <item name="colorPrimaryDark">@color/colorPrimaryDark</item>   <item name="colorAccent">@color/colorAccent</item>     </style> <style name="BeatBoxButton">     <item name="android:background">@color/dark_blue</item>     </style> 
</resources>

c 使用样式(res/layout/list_item_sound.xml)

<Button   
style="@style/BeatBoxButton"   
android:layout_width="match_parent"   
android:layout_height="120dp"  
android:onClick="@{() -> viewModel.onButtonClicked()}"  
android:text="@{viewModel.title}"  
tools:text="Sound name"/> 

d 继承样式(res/layout/styles.xml)

<style name="BeatBoxButton">    <item name="android:background">@color/dark_blue</item> </style> 
<style name="BeatBoxButton.Strong">     
<item name="android:textStyle">bold</item> 
</style>

2. 添加主题颜色

a 自定义主题属性(res/values/styles.xml)

<style name="AppTheme" parent="Theme.AppCompat">     
<item name="colorPrimary">@color/red</item>     
<item name="colorPrimaryDark">@color/dark_red</item>     
<item name="colorAccent">@color/gray</item> 
</style> 

b 设置窗口背景(res/values/styles.xml)

<style name="AppTheme" parent="Theme.AppCompat">     
<item name="colorPrimary">@color/red</item>      
<item name="colorPrimaryDark">@color/dark_red</item>     
<item name="colorAccent">@color/gray</item> <item name="android:windowBackground">@color/soothing_blue</item> </style>

c 使用BeatBoxButton样式(res/values/styles.xml)

<resources> <style name="AppTheme" parent="Theme.AppCompat">    <item name="colorPrimary">@color/red</item>   <item name="colorPrimaryDark">@color/dark_red</item>   <item name="colorAccent">@color/gray</item> <item name="android:windowBackground">@color/soothing_blue</item>   <item name="buttonStyle">@style/BeatBoxButton</item>     </style> <style name="BeatBoxButton" parent="Widget.AppCompat.Button">   <item name="android:background">@color/dark_blue</item>     </style> 
</resources> 

二、模拟器运行结果

三、真机运行结果

这篇关于Android开发学习(9)--BeatBox(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771424

相关文章

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio