引用Drawable颜色常数及背景色

事先将定义好的颜色代码以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 

    }
  }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值