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

相关文章

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经