应用开发笔记

2011年05月9日

android 各种控件颜色值的设置(使用Drawable,Color)

Filed under: Android开发 — 标签:, , , , , — admin @ 16:21

在Android中,如果需要改变控件默认的颜色,包括值的颜色,需要预先在strings.xml中设置,类似字符串,可以反复调用。Android中颜色可以使用drawable或是color来定义。
本例中strings.xml内容:

1 2 3 4 5 6 7 8 9 
<?xml version="1.0" encoding="utf-8"?> <resources>     <string name="hello">Hello World, Main!</string>     <string name="app_name">Color</string>     <drawable name="red">#ff0000</drawable>     <color name="gray">#999999</color>     <color name="blue">#0000ff</color>     <color name="background">#ffffff</color> </resources>

上面定义了几个颜色值,下面是在布局文件中的调用,main.xml内容:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:background="@color/background"     > <TextView  android:id="@+id/tv1"     android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="@string/hello"     android:textColor="@drawable/red"     /> <TextView  android:id="@+id/tv2"     android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="@string/hello"     android:textColor="@color/gray"     /> <TextView  android:id="@+id/tv3"     android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="@string/hello"     /> </LinearLayout>

在Java程序中使用:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 
package com.pocketdigi.color;   import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.widget.TextView;   public class Main extends Activity {     /** Called when the activity is first created. */ 	TextView tv1,tv2,tv3;     @Override     public void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         tv1=(TextView)findViewById(R.id.tv1);         tv2=(TextView)findViewById(R.id.tv2);         tv3=(TextView)findViewById(R.id.tv3);         tv3.setTextColor(Color.BLUE);//直接使用android.graphics.Color的静态变量         tv2.setTextColor(this.getResources().getColor(R.color.blue));//使用预先设置的颜色值       } }

这里以TextView为例,其他控件类似.

posted on 2013-03-05 15:45 姚先进 阅读(223) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: