android 设置控件的颜色,字体

1.用代码设置控件的颜色:
    int b =  getResources().getColor(R.drawable.blue);//得到配置文件里的颜色
    mButton.setTextColor(b);
    
2.设置空间的字体:
 方式一:mText.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf"));//设置字体
   注意:1.保证文件一定是ttf格式;2.放到assets/fonts目录下;3.如果找不到相应的字体不会报错,只是在运行的时候显示不出来
方式二: fontButton.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC));//用内部支持的方式设置

 

package com.oyzz.ch3_6;



import android.app.Activity;

/*必须引用graphics.Color才能使用Color.*的对象*/

import android.graphics.Color;

import android.graphics.Typeface;



import android.os.Bundle;

import android.view.View;



/*必须引用 widget.Button才能声明使用Button对象*/

import android.widget.Button;



/*必须引用 widget.TextView才能声明使用TestView对象*/

import android.widget.TextView;

public class Ch3_6 extends Activity 

{

  private Button mButton;

  private TextView mText;

  private int[] mColors;

  private int colornum;

  private Button fontButton;



  /** Called when the activity is first created. */

  @Override



  public void onCreate(Bundle savedInstanceState) 

  {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);



    /*通过findViewById构造器来使用main.xml与string.xml

    中button与textView的参数*/

    mButton=(Button) findViewById(R.id.mybutton);

    mText= (TextView) findViewById(R.id.mytext);

    fontButton=(Button) findViewById(R.id.mybutton1);



    /*声明并构造一整数array来存储欲使用的文字颜色*/

    mColors = new int[] 

                      { 

    Color.BLACK, Color.RED, Color.BLUE,

    Color.GREEN, Color.MAGENTA, Color.YELLOW

                       };

    colornum=0;

    //得到color.xml文件里的颜色

    int b =  getResources().getColor(R.drawable.blue);//得到配置文件里的颜色

    mButton.setTextColor(b);

    /*使用setOnClickListener让按钮聆听事件*/

    mButton.setOnClickListener(new View.OnClickListener() 

    {             

      /*使用onClick让用户点下按钮来驱动变动文字颜色*/

      public void onClick(View v)

      {        

        if (colornum < mColors.length)

        {

          mText.setTextColor(mColors[colornum]);

          colornum++;

        }

        else

          colornum=0;

       }  

    });

    

    fontButton.setOnClickListener(new Button.OnClickListener() {

  public void onClick(View v) {

   mText.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf"));//设置字体

   fontButton.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC));//用内部支持的方式设置

  }

 });

  }

}



main.xml:



<?xml version="1.0" encoding="utf-8"?>

  

    <!-- Layout使用白色的背景 -->

<LinearLayout

  android:id="@+id/widget27"

  android:layout_width="fill_parent"

  android:layout_height="fill_parent"

  android:background="@drawable/white"

  xmlns:android="http://schemas.android.com/apk/res/android"

  android:orientation="vertical"

  >

  <!-- 

      文字使用mytext作為id使用string.xml中

      的textview_str參數 預設文字顏色為按灰色

  -->

  <TextView

  android:id="@+id/mytext"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:text="@string/textview_str"

  android:textColor="@drawable/darkgray"

  >

  </TextView>

  <!-- 按鈕以mybutton作為id使用string.xml中

   的button_str參數

  -->

  <Button

  android:id="@+id/mybutton"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:text="@string/button_str"

  >

  </Button>

   <Button

  android:id="@+id/mybutton1"

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  android:text="字体"

  >

  </Button>

</LinearLayout>



color.xml:



<?xml version="1.0" encoding="utf-8"?>

  <resources>

  <drawable name="darkgray">#404040ff</drawable>

  <drawable name="black">#000</drawable>

  <drawable name="red">#ff00ff</drawable>

  <drawable name="green">#0ff0ff</drawable>

  <drawable name="lightgray">#c0c0c0ff</drawable>

  <drawable name="white">#ffffffff</drawable>

  <drawable name="yellow">#ffFF33ff</drawable>

  <drawable name="blue">#00ffff</drawable>

  <drawable name="gray">#808080ff</drawable>

  <drawable name="magenta">#ff6699ff</drawable>

  <drawable name="cyan">#66ffffff</drawable>

</resources>



strings.xml:



<?xml version="1.0" encoding="utf-8"?>

<resources>

  <string name="hello">Hello World, Ex03_13</string>

  <string name="app_name">Ex03_13</string>

  <string name="textview_str">转吧七彩霓虹灯</string>

  <string name="button_str">按我</string>

</resources>
代码

 

 

你可能感兴趣的:(android)