转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755
关于 Android 的日间/夜间模式切换相信大家在平时使用 APP 的过程中都遇到过,比如知乎、简书中就有相关的模式切换。实现日间/夜间模式切换的方案也有许多种,趁着今天有空来讲一下日间/夜间模式切换的几种实现方案,也可以做一个横向的对比来看看哪种方案最好。
SkeletonApp 工程的源文件的结构按照目录树的方式如下所示: SkeletonApp/ |-- Android.mk (工程管理文件) |-- AndroidManifest.xml (工程描述文件) |-- res (资源文件) | |-- drawable | | -- violet.jpg (图片文件) | |-- layout | |– skeleton_activity.xml (布局文件) | -- values | |-- colors.xml (颜色资源文件) | |-- strings.xml (字串资源文件) |– styles.xml (样式资源文件) |-- src (Java 源代码文件) -- com– example -- android– skeletonapp `-- SkeletonActivity.java
在 Android 样式系统系列的前几篇文章中,我们介绍了主题背景与样式的区别,以及为什么说通过主题背景和公共主题背景属性来分解您要实现的内容是一个不错的主意,请点击链接回顾:
在近期发布的 Oreo 版本中,Android 开始获得颜色管理的支持,这有助于在不同的设备上对颜色进行校准。随着此次更新的到来,Android 设备现在可以显示 sRGB 色域之外的颜色。如果您不熟悉颜色配置文件或广色域,那么我强烈建议向您推荐这段来自 Google I/O 的视频,供您理解颜色: 开发者和设计师必须了解的Android颜色知识 简单来说,颜色管理可以确保颜色在不同的显示器上看起来一致。例如,颜色 #ff0000(我们的读者应该秒懂这是红色)当出现在采用不同技术的显示屏上时,观众看到的颜
零、前言 [1].本想在控件使用中穿插讲一下资源在加载,但感觉知识点挺多还是单开一篇专门讲一下吧。 [2].values/string.xml的使用 [3].values/dimens.xml的使用 [4].values/colors.xml的使用 [5].values/styles.xml的使用 [6].选择器selector的使用 [7].anim里xml动画加载 ---- 一、values/string.xml的使用 1.单字符串 <string name="title">张风捷特烈
在上一篇文章中完成了对记事本的功能增强,本篇文章中就着重来说一下UI方面的内容。先看看本篇文章的效果图
利用之前学过的多线程处理技术,我们做一个利用Android手机显示一个多彩霓虹灯效果的小实例。
在这个教程中,我们将演示如何在React Native中构建一个启动屏幕。我们将指导你如何使用 react-native-splash-screen 为iOS和Android应用构建出色的欢迎界面。此外,由于Expo很受欢迎,许多人常常选择使用它,我们也将探讨如何在Expo中构建启动屏幕。
夜间模式作为APP的一个重要的用户体验之一,很多应用有这个功能,目前,用户体验也是产品和设计较为看重的方面,越来越值得深入探究,本文将介绍在Android上一种夜间模式的实现方式。
今年的 I/O 应用大幅修改了现有功能并添加了若干新特性。在这篇文章中,我们将着重围绕其中几项主要变更进行说明。
Android中颜色值的定义是由透明度alpha和RGB(红绿蓝)三原色来定义的,有八位十六进制数与六位十六进制数两种编码,例如八位FFEEDDCC,前两位FF表示透明度,后面两位EE表示红色的浓度,再后面两位表示绿色的浓度,最后两位表示蓝色的浓度。 透明度为FF时表示完全不透明,为00时表示完全透明。六位编码有两种情况,在XML文件中默认不透明(即透明度为FF),在代码中默认透明(即透明度为00),博主经常把透明度弄反了,所以着重记一下。 RGB三色的数值越大,表示颜色越浓也就是越亮,数值越小表示颜色越暗。亮到极致就是白色,暗到极致就是黑色,这样记就不会搞混了。
ids.xml——为应用的相关资源提供唯一的资源id。id是为了获得xml中的对象而需要的参数,也就是Object = findViewById(R.id.id_name)中的id_name。这些值可以在代码中用android.R.id引用到。若在ids.xml中定... ids.xml——为应用的相关资源提供唯一的资源id。id是为了获得xml中的对象而需要的参数,也就是Object = findViewById(R.id.id_name)中的id_name。这些值可以在代码中用android.R.id引
在上一篇文章中,我们研究了 Android 的 VectorDrawable 格式,了解了它的优点和功能。
关于Android中使用的资源文件,前面陆陆续续也介绍了不少,这节课给大家介绍一下Android中使用到的“值资源”。 可以看到上面的截图,在values文件夹下包含了很多个xml文件,每个文件代表一
各位小伙伴们大家早上好,今天给大家带来一篇关于Android 10适配的原创文章。
--以下:正文部分-- Android的设计哲学为:设计与表现分离。 这样有利于程序的解耦。所以我们才可以在XML文件中定义各种资源类型,并在其他的xml文件或java代码中进行引用。
res是Android项目工程中存放各类的目录,主要包括布局、图形与配置等等。res的子目录主要有:
将你的Android SDK放在你的home目录或其他应用程序无关的位置。 当安装有些包含SDK的IDE的时候,可能会将SDK放在IDE同一目录下,当你需要升级(或重新安装)IDE或更换的IDE时,会非常麻烦。 此外,若果你的IDE是在普通用户,不是在root下运行,还要避免吧SDK放到一下需要sudo权限的系统级别目录下。
android:绘图 View:组件,理解为画布 Drawable:所有可见对象的描述,理解为:素材类 Bitmap:图片类 Canvas:画笔 Paint:画笔样式与颜色、特效的集合
今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:《Android Material Design系列之夜间模式》。在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提供了非常简单
《移动互联网技术》课程是软件工程、电子信息等专业的专业课,主要介绍移动互联网系统及应用开发技术。课程内容主要包括移动互联网概述、无线网络技术、无线定位技术、Android应用开发和移动应用项目实践等五个部分。移动互联网概述主要介绍移动互联网的概况和发展,以及移动计算的特点。无线网络技术部分主要介绍移动通信网络(包括2G/3G/4G/5G技术)、无线传感器网络、Ad hoc网络、各种移动通信协议,以及移动IP技术。无线定位技术部分主要介绍无线定位的基本原理、定位方法、定位业务、数据采集等相关技术。Android应用开发部分主要介绍移动应用的开发环境、应用开发框架和各种功能组件以及常用的开发工具。移动应用项目实践部分主要介绍移动应用开发过程、移动应用客户端开发、以及应用开发实例。 课程的教学培养目标如下: 1.培养学生综合运用多门课程知识以解决工程领域问题的能力,能够理解各种移动通信方法,完成移动定位算法的设计。 2.培养学生移动应用编程能力,能够编写Andorid应用的主要功能模块,并掌握移动应用的开发流程。 3. 培养工程实践能力和创新能力。 通过本课程的学习应达到以下目的: 1.掌握移动互联网的基本概念和原理; 2.掌握移动应用系统的设计原则; 3.掌握Android应用软件的基本编程方法; 4.能正确使用常用的移动应用开发工具和测试工具。
虽然我们项目的代码时间并不长,也没经过太多人手,但代码的规范性依然堪忧,目前存在较多的比较自由的「代码规范」,这非常不利于项目的维护,代码可读性也不够高,
Frame Animation,也叫 Drawable Animation,原理就类似视频快速播放一帧一帧的图片。一般场景下很少使用,工作中遇到的是有时会有背景色,用若干颜色值变化,有时一个 View 要弹跳,其实是做好了若干切图,图片大小一致,但里面的内容处于不同位置,然后播放起来看着好像是在弹跳。
小驼峰命名(lowerCamelCase):除第一个单词以外,每一个单词的第一个字母大写。
app的风格的选项 可以按住ctr然后点击Theme.AppCompat.Light.DarkActionBar就会跳转
底边弹出一个选择列表这是一个比较常用的选择条件或跳转的很好的方法,可以很好的隐藏各个选项。在需要使用时在底边弹出。而BottomSheet就是这样的一个控件。
上个月发布了Android项目重构的三篇系列文章,其中,界面篇中提到了在项目中保持规范性的重要性,也有简单举了几个例子。这篇文章则将其延伸,提供更完整的开发规范说明。
很早看过这篇文章,并做了笔记,后来看到群里的小伙伴有问相关Drawable的问题,就把这篇翻译过来的文章给放出来了。大家一起学习,一起进步。想看原文的小伙伴可以点击下面的链接。 原文地址 前言 Drawable是可以绘制到屏幕上的图形。 Drawable用于定义形状,颜色,边界,渐变等,然后将其应用于Activity中的View。 这通常用于自定义显示在特定View。 Drawable倾向于在XML中定义,然后可以通过XML或Java代码应用于View。 有关Android的每个版本的默认Drawab
setting.gradle 指定所有引入的模块(等价于Maven的pom.xml 文件)
我们挑战自我,为用户创造了崭新的视觉设计语言。与此同时,新的设计语言除了遵循经典设计定则,还汲取了最新的科技,秉承了创新的设计理念。这就是原质化设计(Material Design)。这份文档是动态更新的,将会随着我们对 Material Design 的探索而不断迭代、升级。
检查./app/src/main/res/layout/launch_screen.xml 是否存在,默认应该是没有layout文件夹的,需要手动创建layout文件夹,然后在layout文件夹下新建launch_screen.xml,将以下内容复制进去:
Android是一个基本上为手机构建的操作系统。它基于 Linux Kernel 和其他开源软件,由Google开发。它用于智能手机和平板电脑等触摸屏移动设备。但现在这些都用于 Android Auto 汽车、电视、手表、相机等。它一直是智能手机最畅销的操作系统之一。Android OS 由Android Inc开发。谷歌在 2005 年收购了它。为这些智能手机构建了各种应用程序(应用程序),如游戏、音乐播放器、相机等,以便在 Android 上运行。Google Play 商店拥有超过 330 万个应用程序。该应用程序是在称为Android Studio 的应用程序上开发的。这些可执行应用程序通过称为APK(Android Package Kit)的包或包安装。
res/drawable/selector_settings_item_back.xml
R.java文件:这个文件是Eclipse自动生成的,应用开发者是不需要去修改里面的内容的。
把资源放进对应的目录后,可使用在项目 R 类中生成的资源 ID 来访问这些资源。形如 R.drawable.icon,R.layout.main_activity。 R类是自动生成的。代表resources。
在我们使用react-native进行编写代码的时候,当启动应用的时候,我们会看到如下界面
大家好!在前几篇文章里,我们详细介绍了Android中的常用布局,使大家对Android中的页面布局有了一定认识,而对于布局中使用的一些UI控件如Button、TextView等,有的读者可能还存在一些困惑。在接下来文章中,我们将详细介绍Android开发中经常使用的UI控件,敬请期待!
在android之自定义渐变颜色(一)中我们已经学到如何在xml定义渐变颜色,今天我们来学学如何用代码定义渐变颜色 Android平台下实现渐变效果。在android.graphics中我们可以找到有关Gradient字样的类,比如LinearGradient 线性渐变、RadialGradient径向渐变和 角度渐变SweepGradient 三种,他们的基类为android.graphics.Shader。为了显示出效果,使用一个简单的例子来说明。 一、LinearGradient线性渐变 在an
我们知道,在一个APK文件中,除了有代码文件之外,还有很多资源文件。这些资源文件是通过Android资源打包工具aapt(Android Asset Package Tool)打包到APK文件里面的。在打包之前,大部分文本格式的XML资源文件还会被编译成二进制格式的XML资源文件。在本文中,我们就详细分析XML资源文件的编译和打包过程,为后面深入了解Android系统的资源管理框架打下坚实的基础。 在前面Android资源管理框架(Asset Manager)简要介绍和学习计划一文
在前一篇文章《Android项目重构之路:架构篇》中已经简单说明了项目的架构,将项目分为了四个层级:模型层、接口层、核心层、界面层。其中,最上层的界面,是变化最频繁的一个层面,也是最复杂最容易出问题的一个层面,如果规划不好,很容易做着做着,又乱成一团了。 要规划好界面层,至少应该遵循几条基本的原则:
PorterDuff的由来: 相信大多数人看到这个ProterDuff单词很奇怪了吧,这肿么个意思呢,然后就用有道啊,金山啊开始翻译,但是翻译软件给出的结果肯定还是 ProterDuff或者”未找到”. 这是什么情况呢?PorterDuff其实来自两个人名:Tomas Porter和Tom Duff ,他们是最早在SIGGRAPH上提出图形混合概念的大神级人物.有感兴趣的同学可以自己查下并深入了解,在此不再做过多描述. 利用ProterBuff.Mode我们可以完成任意2D图像测操作, 比如涂鸦画板应用中的橡皮擦效果,绘制各种自定义的进度,等等很强大的效果,下面请看效果:
经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Genymotion模拟器都准备妥当。在之前简单讲过Eclipse中Android工程的项目结构
1.1 Activity.java全文: 注意代码中的注释,其中 handler.sendEmptyMessageDelayed(1,3000); 这个方法比较有趣
在XML中,形如 <Button / 的表示方式,其中“/ ”的含义表示这个XML中没有内文,他是一个最小组成单元,也就是说他的中间不能包含其他任何< 的代码,所以在<Button / 中间注释会出现错误
在res目录下建一个drawable文件夹,注意文件夹名字一定要是drawable,否则在xml模板中你是找不到shape的
效果图: 📷 MainActivity.javapackage com.hnpolice.luoxiaoke.swiperefreshlayout; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.AppCompatA
老孟导读:今天分享StackOverflow上高访问量的20大问题,这些问题给我一种特别熟悉的感觉,我想你一定或多或少的遇到过,有的问题在stackoverflow上有几十万的阅读量,说明很多人都遇到了这些问题,把这些问题整理分享给大家,每期20个,每隔2周分享一次。
最近想用业余时间学习一下android,教程,书本上以eclipse+adt居多,实际搜索一下,现在android studio好评还是比较多的,而且是google官方出的。于是还是折腾一下。 使用android studio搭建安卓开发环境十分简单,当然jdk是必备的,然后去http://developer.android.com下载android studio安装。 上面的地址需要翻墙,国内可以去http://www.androiddevtools.cn下载,版本更新比较慢,不过日常完全够用了,
领取专属 10元无门槛券
手把手带您无忧上云