Color About——Second
下面来简要的说一下Android开发中如何对某一个Activity进行背景色的设置。下面我以名字为FirstActivity的Activity的背景色的设置进行说明,先说一下Drawable类:
关于Drawable:
A Drawable is a general abstraction for "something that can be drawn." Most often you will deal with Drawable as the type of resource retrieved for drawing things to the screen; the Drawable class provides a generic API for dealing with an underlying visual resource that may take a variety of forms. Unlike a View
, a Drawable does not have any facility to receive events or otherwise interact with the user.
Though usually not visible to the application, Drawables may take a variety of forms:
- Bitmap: the simplest Drawable, a PNG or JPEG image.
- Nine Patch: an extension to the PNG format allows it to specify information about how to stretch it and place things inside of it.
- Shape: contains simple drawing commands instead of a raw bitmap, allowing it to resize better in some cases.
- Layers: a compound drawable, which draws multiple underlying drawables on top of each other.
- States: a compound drawable that selects one of a set of drawables based on its state.
- Levels: a compound drawable that selects one of a set of drawables based on its level.
- Scale: a compound drawable with a single child drawable, whose overall size is modified based on the current level.
更多详情请参考官方网站:
https://developer.android.com/reference/android/graphics/drawable/Drawable.html
-----------------------------------------------------------------------------
对官方的介绍做一个简要的说明(笔者英语不是非常擅长,以下翻译仅供参考):
Drawable就是一个可画的对象,你经常需要按照绘画到屏幕上的资源类型对Drawable进行处理,Drawable类提供一个通用的API,以处理各种格式的可视化资源。Drawable类与View类不同,因为Drawable类没有任何功能用于接收事件或者与用户进行交互。
Drawable类有以下几种类型:
-->Bitmap:最简单的Drawable,资源是PNG或者JPEG图片(官方写到:Android supports bitmap files in a three formats: .png
(preferred), .jpg
(acceptable), .gif
(discouraged).也就是说最好是PNG格式的图片,其次是JPEG格式,最好不要是GIF格式图片)
-->Nine Patch:PNG格式的扩展,可以声明在其内部如何伸缩和放置。
-->Shape:包含简单的绘画命令以修改bitmap中的资源,允许调整资源大小尺寸以更好的适应对应的情况。
-->Layers:一个复合的drawable,在多个图层中,对每一个图层都可以进行绘制。
-->States:一个复合的drawable,基于它自身的情况,选择drawables集中的一个。
-->Levels:一个复合的drawable,基于它自身的级数,选择drawables集中的一个。
-->Scale:一个单一的带有子drawable的drawable,它的总尺寸基于当前等级进行修改。
总之我们根据画图的需求,创建相应的可画对象,就可以将这个可画对象当作一块“画布(Canvas)”,在其上面操作可画对象,并最终将这种可画对象显示在画布上。
-----------------------------------------------------------------------------
好了,进入正题:
1:打开FirstActivity.java的布局文件activity_first.xml,
这一步在xml布局文件中声明。
加入语句:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
android:background="@drawable/bgcolor"
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
2:我们在上一步中声明的变量bgcolor需要进行赋值,赋值在res/value/strings.xml中进行。打开strings.xml,添加语句:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
<drawable name="bgcolor">#F0E68C</drawable>
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
3:基本步骤搞定后,敲入java代码,打开FirstActivity.java,输入一下代码:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
//得到Resources类的对象
Resources res = getResources();
//得到Drawable类的对象
Drawable dra = res.getDrawable(R.drawable.bgcolor);
//设置当前窗口的背景色
this.getWindow().setBackgroundDrawable(dra);
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Color About——Second的更多相关文章
- 【转】c#、wpf 字符串,color,brush之间的转换
转自:http://www.cnblogs.com/wj-love/archive/2012/09/14/2685281.html 1,将#3C3C3C 赋给background this.selec ...
- Python为8bit深度图像应用color map
图片中存在着色版的概念,二维矩阵的每个元素的值指定了一种颜色,因此可以显示出彩色. 迁移调色板 下述python代码将VOC数据集中的某个语义分割的图片的调色板直接应用在一个二维矩阵代表的图像上 #l ...
- (转)System.Drawing.Color的颜色对照表
经常使用System.Drawing.Color, 本篇介绍一下颜色与名称及RGB值的对应关系. 1. 颜色与名称的对照表(点击下图放大看): 2. 颜色与RGB值对照表: Color.AliceBl ...
- 激光打印机的Color/paper, Xerography介绍
Color Basic 看见色彩三要素: 光源,物体,视觉 加色色彩模型:R,G,B 多用于显示器 减色色彩模型:C,M,Y,K 多用于打印复印 Paper 东亚地区常用A系列标准用纸,在多功能一体机 ...
- 安卓工具箱:color of Style
<?xml version="1.0" encoding="utf-8"?> <resources> <color name=&q ...
- UITableView 一直显示滚动条(ScrollBar Indicators)、滚动条Width(宽度)、滚动条Color(颜色)
在 IOS 中,对 UIScrollView 的滚动条(ScrollBar Indicators)的自定义设置接口,一直都是很少的.除了能自定义简单的样式(UIScrollViewIndicatorS ...
- OpenCASCADE Color Scale
OpenCASCADE Color Scale eryar@163.com Abstract. The color scale is a specialized label object that d ...
- Color Transfer between Images code实现
上计算机视觉课老师布置的作业实现论文:Color Transfer between Images 基本思路是: 1.给定srcImg和targetImg 2.将RGB空间转为Lab空间 3.根据论文中 ...
- ZOJ Problem Set - 1067 Color Me Less
这道题目很简单,考察的就是结构体数组的应用,直接贴代码了 #include <stdio.h> #include <math.h> typedef struct color { ...
- UVA - 1625 Color Length[序列DP 代价计算技巧]
UVA - 1625 Color Length 白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束 和模拟赛那道环形DP很想,计算这 ...
随机推荐
- mysql前n条查询
可以利用——LIMIT——来完成这项功能. LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下: SELECT * FROM MYTABLE ORDER BY AFI ...
- 基于 Equinox 的 OSGi Console 的研究和探索
自定制 OSGi Console 进行组建和服务生命周期管理模块化编程的好处已经很好地被理解了约 40 年,但在 OSGi 之前,开发人员不得不自己发明模块化设计和系统.随着软件应用体系结构的不断发展 ...
- Debian 8 在虚拟环境中安装kivy
mkvirtualenv kivy 或者按官方教程所说: virtualenv --no-site-packages kivyinstall (kivy)~/pythonvenv ᐅ pip list ...
- iOS中通知中心NSNotificationCenter应用总结
通知中心(NSNotificationCenter)实际是在程序内部提供了一种广播机制.把接收到的消息,根据内部的消息转发表,将消息转发给需要的对象.这句话其实已经很明显的告诉我们要如何使用通知了.第 ...
- UIButton的简单操作和实际应用
不能使用点语法创建button的文本和颜色,因为button具有多种状态 //这里创建一个圆角矩形的按钮UIButton *button1 = [UIButton buttonWithType:U ...
- 使用keil建立标准STM32工程模版(图文详细版!)
1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...
- java中的CountDownLatch
闭锁是一种同步工具类,可以延迟线程的进度直到其达到终止状态.闭锁的作用相当于一扇门:在闭锁到达结束状态值钱,这扇门一直是关闭的,没有任何线程可以通过,当到大结束状态时,这扇门会打开并允许所有的线程通过 ...
- uva 12587 二分枚举
思路:维护一个森林,二分枚举最小的最大值. #include<set> #include<map> #include<cmath> #include<queu ...
- 转 : React Native 开发之 IDE 选型和配置
转:https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112392&idx=1&sn=135e29ddde30 ...
- TOP 10 BEST LINUX GAMES RELEASED IN 2016
Gaming on Linux used to be a very rare phrase. But since the arrival of Steam on Linux, the Linux ga ...