android 字符串、颜色和尺寸

先看示例





Demo下载
最后,以上例子都来源与安卓无忧,请去应用宝或者豌豆荚下载:http://android.myapp.com/myapp/detail.htm?apkName=com.shandong.mm.androidstudy,源码例子文档一网打尽。

1字符串资源
文件路径:res/values/strings.xml
1.1字符串资源定义示例
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello!</string>
</resources>
1.2字符串资源的调用
在 Layout XML 调用字符串资源:
<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello" />
在 Activity 获取字符串资源:
this.getString(R.string.hello)
从 Context 获取字符串资源:
context.getString(R.string.hello)
从 Application 获取字符串资源:
application.getString(R.string.hello)
2 颜色资源
2.1使用Color类的常量
int color = Color.BLUE;  // 创建一个蓝色 是使用Android提供的颜色
int color = Color.RED;  int color = Color.WHITE;
2.2通过ARGB构建,
int color = Color.argb ( 127,  255,  0,  255 );  // 半透明的紫色
其中第一个参数表示透明,0表示完全透明,255(ff)表示完全不透明;后三位分别代表RGB的值了。
2.3使用XML资源文件来定义颜色 
该方法扩展性好,便于修改和共享,如在values目录下创建一个color.xml: 
<?xml version=” 1.0” encoding=”utf -8”> 
<resources> 
<color name=”mycolor”> #7fff00ff</color> 
</resources>
定义了一个名为mycolor的颜色,在别的地方就可以通过引用mycolor来获取该颜色值,如textView定义中: 
android:textColor= "@drawable/mycolor"
2.4  getColor
Java代码中可以使用ResourceManager类中的getColor来获取该颜色:  int color = getResources().getColor(R.color.mycolor); 
这与第二种方法得到的值是一样的,getResources()方法返回当前活动Activity的ResourceManager类实例。 
说明:XML定义方法接受6位和8位两种表示法,而且开头必须是#,8位定义时前两位表示透明。  4、直接定义色值,如:  int color = 0xff00ff00;
这种方法必须使用0x开头,而不是用我们常用的#。与方法3不一样,值也必须用8位表示 ,不接受6位的颜色表示。分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示RGB颜色值。 
补充一点Android布局中背景图片的设置(编辑LinearLayout): 
* 可以使用纯色:android:background="@drawable/mycolor" (XML资源文件中定义的颜色)
* 也可使用图片:android:background="@drawable/bg" (需要将一个名为bg.jpg或png的图片拷贝到res/drawable-hdpi目录下)
颜色分类:
2.5系统颜色
android内置的颜色,比如系统资源中定义的颜色,有以下几个:
BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(黄色)等
当然android的android.graphics.Color也提供了构造自定义颜色的静态方法
系统颜色的使用
①在Java代码直接设置
Button btn = (Button) findViewById(R.id.btn);
        btn.setBackgroundColor(Color.BLUE);

当然你也可以获取系统颜色后再设置:
int getcolor = Resources.getSystem().getColor(android.R.color.holo_green_light);
        Button btn = (Button) findViewById(R.id.btn);
        btn.setBackgroundColor(getcolor);
②在布局文件中使用
2.6自定义颜色
颜色值的定义是由透明度alpha和RGB(红绿蓝)三原色来定义的, 以“#”开始,后面依次为:透明度-红-绿-蓝
eg:#RGB #ARGB #RRGGBB #AARRGGBB
而我们最常使用的就是后面两种
自定义颜色的使用:
2.6.1直接在xml文件中使用
当然你也可以在res/values目录下,新建一个color.xml文件,为你自己指定的颜色起一个名字 这样,在需要的时候就可以根据name直接使用自定义的颜色
<!--?xml version=1.0 encoding=utf-8?-->
<resources>
    <color name="mycolor">#748751</color>
</resources>
2.6.2在Java代码中使用
如果是在res中已经定义好该自定义颜色,在java代码中只需直接调用即可:
int mycolor = getResources().getColor(R.color.mycolor);
        Button btn = (Button) findViewById(R.id.btn);
        btn.setBackgroundColor(mycolor);
如果是直接在java代码中定义,这里要注意哦,透明度不可以省去哦!!!就像这样 0xFF080287,前面的0x代表16进制:
int mycolor = 0xff123456;
        Button btn = (Button) findViewById(R.id.btn);
        btn.setBackgroundColor(mycolor);
2.7利用静态方法argb来设置颜色:
Button btn = (Button) findViewById(R.id.btn);
        btn.setBackgroundColor(Color.argb(0xff, 0x00, 0x00, 0x00));
argb()方法的参数依次为透明度,红,绿,蓝的大小,可以理解为浓度,这里组合起来的就是白色

猜你喜欢

转载自bububu201609134912.iteye.com/blog/2324972