现在的位置: 首页 > 综合 > 正文

引用Drawable颜色常数及背景色

2013年11月08日 ⁄ 综合 ⁄ 共 1989字 ⁄ 字号 评论关闭

   事先将定义好的颜色代码以drawable的名称存放于resources中,这是学习开发Android程序必须养成的好习惯,正如同字符串常数一样,颜色也是可以事先在res目录下的values文件下下的colors.xml文件下定义好的,定义格式如下:

  <drawable name=color_name>color_value</drawable>


下面的一个例子使用两种方法使用这个定义了的常数。

方法一:通过引用的方法在xml文件下使用,使用的方法如下

 android:background="@drawable/color_name"


方法二:使用java代码调用,这时需要使用如下代码

  //获取资源的方法
    Resources resources = getBaseContext().getResources();
    Drawable HippoDrawable = resources.getDrawable(R.drawable.color_name);


下面是一个综合运用这两种方法的例子:

1.运行截图如下:


2.实现代码:

2.1 layout布局文件

<?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="@drawable/red"
  >
  <TextView
  android:id="@+id/myTextView01"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:text="@string/str_textview01"
  />
  <TextView
  android:id="@+id/myTextView02"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:text="@string/str_textview02"
  />
</LinearLayout>


2.2 颜色资源定义文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <drawable name="darkgray">#808080FF</drawable>
  <drawable name="white">#FFFFFFFF</drawable>
  <drawable name="red">#FF0000</drawable>
</resources>


2.3 主程序文件

public class EX03_03 extends Activity 
{ 
  private TextView mTextView01;
  private TextView mTextView02; 
  /** Called when the activity is first created. */
  @Override 
  public void onCreate(Bundle savedInstanceState)
  { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main); 
    mTextView01 = (TextView) findViewById(R.id.myTextView01);
    mTextView01.setText("我是套用Drawable背景色的戴维文字。"); 
    
    //获取资源的方法
    Resources resources = getBaseContext().getResources();
    Drawable HippoDrawable = resources.getDrawable(R.drawable.white);
    
    mTextView01.setBackgroundDrawable(HippoDrawable);
    
    mTextView02 = (TextView) findViewById(R.id.myTextView02);
    mTextView02.setTextColor(Color.MAGENTA); 
    //Color类提供的颜色常量如下:
//    Constants 
//    int BLACK  
//    int BLUE  
//    int CYAN  
//    int DKGRAY  
//    int GRAY  
//    int GREEN  
//    int LTGRAY  
//    int MAGENTA  
//    int RED  
//    int TRANSPARENT  
//    int WHITE  
//    int YELLOW 

    }
  }

抱歉!评论已关闭.