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>

(0)

相关推荐

  • android随机生成圆形云标签效果

    这个适合用于选择 用户的一些兴趣标签,个性名片等. package com.dyl.cloudtags; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.view.Vi

  • Android随机生成验证码

    Android随机生成验证码,Android利用随机数绘制不规则的验证码,加强用户登录或者注册的安全性. 具体思路如下: 在一块固定宽高的画布上,画上固定个数的随机数字和字母,再画上固定条数的干扰线 随机数和干扰线的颜色随机生成,随机数的样式随机生成. 界面效果如下: 1.生成随机数代码,Code.java: public class Code { //随机数数组 private static final char[] CHARS = { '2', '3', '4', '5', '6', '7'

  • android中实现背景图片颜色渐变方法

    常用,记录一下. 效果图: 首先新建xml文件  bg_gradient.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <shape xmlns:android="http://schemas.android.com/apk/res/android" >        <gradient          android:startColor="

  • android 字体颜色选择器(ColorPicker)介绍

    primary_text_yellow.xml 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2008 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this f

  • Android编程实现随机生成颜色的方法示例

    本文实例讲述了Android编程实现随机生成颜色的方法.分享给大家供大家参考,具体如下: 网上有个ColorPicker开源项目,选择颜色值.而在这里我想实现的是动态修改一个view的背景色. 开一个线程,每隔1s修改一次view的背景色. 我们知道在Android里设置一个view的背景色有 framelayout.setBackgroundColor(Color.parseColor("#"+arg0.obj)); 就是用android的Color类去解析一个带#号的十六进制色值.

  • 控制Android LED灯颜色的代码实例

    很多Android手机上都配有LED灯,比如HTC的手机在充电.新来短信等时候都会有响应的指示,其实很简单的这都是NotificationManager的一些参数而已,下面Android123给大家说下如何通过代码控制LED灯的闪烁,因为有些机型没有LED灯或颜色种类较少,发布时需要真机观察. 复制代码 代码如下: final int ID_LED=19871103;         NotificationManager nm=(NotificationManager)getSystemSer

  • Android系统更改状态栏字体颜色

    随着时代的发展,Android的状态栏都不是乌黑一片了,在Android4.4之后我们可以修改状态栏的颜色或者让我们自己的View延伸到状态栏下面.我们可以进行更多的定制化了,然而有的时候我们使用的是淡色的颜色比如白色,由于状态栏上面的文字为白色,这样的话状态栏上面的文字就无法看清了.因此本文提供一些解决方案,可以是MIUI6+,Flyme4+,Android6.0+支持切换状态栏的文字颜色为暗色. 修改MIUI public static boolean setMiuiStatusBarDar

  • Android按钮按下的时候改变颜色实现方法

    需求是在我按下按钮时,该变按钮颜色,使用户感觉到自己按了按钮,当松开的时候,变回原来的颜色. 正常时: 按下时: 有人说,直接监听按钮的按下事件不得了嘛,其实这样确实能实现同样的效果,但是有个缺点,比如很多按钮都需要这样的效果,那你同样的代码就要重复很多次.所以,还是要通用起来. 首先,在res文件夹下新建一个文件夹drawable,这是无关分辨率的: 在下面建立一个xml文件:login_button_selector.xml 复制代码 代码如下: <selector xmlns:androi

  • 基于android中的各种颜色在drawable.xml中的值详解

    < drawable name="white">#FFFFFF< /drawable>< !--白色 --> < drawable name="black">#000000< /drawable>< !--黑色 --> < drawable name="ivory">#FFFFF0< /drawable>< !--象牙色 --> <

  • Android TextView字体颜色设置方法小结

    本文实例总结了Android TextView字体颜色设置方法.分享给大家供大家参考,具体如下: 对于setTextView(int a)这里的a是传进去颜色的值.例如,红色0xff0000是指0xff0000如何直接传入R.color.red是没有办法设置颜色的,只有通过文章中的第三种方法先拿到资源的颜色值再传进去. tv.setTextColor(this.getResources().getColor(R.color.red)); 关键字: android textview color T

  • Android更改EditText下划线颜色样式的方法

    前言 相信大家都知道,当使用AppCompatEditText(Edit Text)时,默认的下划线是跟随系统的#FF4081的颜色值的,通过改变这个值可以改变所有的颜色样式 有时候你想单独定义某一个界面的颜色样式,则可以这样做: 1.在你的build.gradle中添加最新的appcompat库 dependencies { compile 'com.android.support:appcompat-v7:X.X.X' // X.X.X 为最新的版本号 } 2.让你的activity继承an

随机推荐