阅读《Android 从入门到精通》(30)——字体

TypeFace 类方法

TypeFace 的五种字型和四种字体

TypeFace 示例

完整工程:

1.MainActivity.java

package com.sweetlover.activity;

import com.sweetlover.typeface.R;

import android.app.Activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private EditText editText = null;
	private RadioGroup radioGroup = null;
	private RadioButton[] radioBtn = null;
	private TextView textView = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		editText = (EditText) findViewById(R.id.edittext1);
		radioGroup = (RadioGroup) findViewById(R.id.rg);
		radioBtn = new RadioButton[5];
		radioBtn[0] = (RadioButton) findViewById(R.id.rb1);
		radioBtn[1] = (RadioButton) findViewById(R.id.rb2);
		radioBtn[2] = (RadioButton) findViewById(R.id.rb3);
		radioBtn[3] = (RadioButton) findViewById(R.id.rb4);
		radioBtn[4] = (RadioButton) findViewById(R.id.rb5);
		textView = (TextView) findViewById(R.id.textview);

		radioGroup.setOnCheckedChangeListener(new CheckChangedListener());
	}

	class CheckChangedListener implements OnCheckedChangeListener {

		@Override
		public void onCheckedChanged(RadioGroup group, int checkedId) {
			// TODO Auto-generated method stub
			if (checkedId == radioBtn[0].getId() && radioBtn[0].isChecked()) {
				textView.setText(editText.getText());
				textView.setTextColor(Color.BLUE);
				textView.setTypeface(Typeface.DEFAULT, Typeface.NORMAL);
				Toast.makeText(MainActivity.this,
						radioBtn[0].getText() + " 被选择", Toast.LENGTH_SHORT)
						.show();
			} else if (checkedId == radioBtn[1].getId() && radioBtn[1].isChecked()) {
				textView.setText(editText.getText());
				textView.setTextColor(Color.BLUE);
				textView.setTypeface(Typeface.DEFAULT_BOLD, Typeface.BOLD);
				Toast.makeText(MainActivity.this,
						radioBtn[1].getText() + " 被选择", Toast.LENGTH_SHORT)
						.show();
			} else if (checkedId == radioBtn[2].getId() && radioBtn[2].isChecked()) {
				textView.setText(editText.getText());
				textView.setTextColor(Color.BLUE);
				textView.setTypeface(Typeface.MONOSPACE, Typeface.ITALIC);
				Toast.makeText(MainActivity.this,
						radioBtn[2].getText() + " 被选择", Toast.LENGTH_SHORT)
						.show();
			} else if (checkedId == radioBtn[3].getId() && radioBtn[3].isChecked()) {
				textView.setText(editText.getText());
				textView.setTextColor(Color.BLUE);
				textView.setTypeface(Typeface.MONOSPACE, Typeface.BOLD_ITALIC);
				Toast.makeText(MainActivity.this,
						radioBtn[3].getText() + " 被选择", Toast.LENGTH_SHORT)
						.show();
			} else if (checkedId == radioBtn[4].getId() && radioBtn[4].isChecked()) {
				textView.setText(editText.getText());
				textView.setTextColor(Color.BLUE);
				textView.setTypeface(Typeface.DEFAULT_BOLD, Typeface.BOLD);
				textView.getPaint().setFakeBoldText(true);
				Toast.makeText(MainActivity.this,
						radioBtn[4].getText() + " 被选择", Toast.LENGTH_SHORT)
						.show();
			}
		}
	}
}

2.activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/edittext1"
        android:layout_width="300dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:textSize="30sp"
        android:hint="@string/note" />

    <RadioGroup
        android:id="@+id/rg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="vertical" >

        <RadioButton
            android:id="@+id/rb1"
            android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:text="@string/rb1" />

        <RadioButton
            android:id="@+id/rb2"
            android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:text="@string/rb2" />

        <RadioButton
            android:id="@+id/rb3"
            android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:text="@string/rb3" />

        <RadioButton
            android:id="@+id/rb4"
            android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:text="@string/rb4" />

        <RadioButton
            android:id="@+id/rb5"
            android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:text="@string/rb5" />

    </RadioGroup>

    <TextView
        android:id="@+id/textview"
        android:layout_width="300dp"
        android:layout_height="60dp"
        android:layout_gravity="center"
        android:textSize="30sp"
        android:text="@string/note" />

</LinearLayout>

3.string.xml

<resources>

    <string name="app_name">TypeFace</string>
    <string name="note">请输入文字</string>
    <string name="rb1">默认</string>
    <string name="rb2">粗体</string>
    <string name="rb3">斜体</string>
    <string name="rb4">粗斜体</string>
    <string name="rb5">仿粗体</string>

</resources>
时间: 2025-01-06 20:27:44

阅读《Android 从入门到精通》(30)——字体的相关文章

Android从入门到精通pdf+书源码

Android从入门到精通的pdf,入门的好书籍,由于csdn文件大小的限制所以分成了两部分. part1地址:http://download.csdn.net/detail/a358763471/7838725 part2地址:http://download.csdn.net/detail/a358763471/7838337 另外本书的源码连接: 源码地址:http://download.csdn.net/detail/a358763471/7725129

Android Volley入门到精通:使用Volley加载网络图片

在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法.本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法. 在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架.我们都知道,Universal-Image-Loader具备非常强大的加载网络图片的功能,而使用Volley,我们

阅读《Android 从入门到精通》(14)——时间选择器

时间选择器(TimePicker) java.lang.Object; android.view.View; android.view.ViewGroup; android.widget.FrameLayout; android.widget.TimePicker; TimePicker 类方法 TimePick 示例 完整工程:http://download.csdn.net/detail/sweetloveft/9410965 下述程序主要学习 TimePicker 的用法,不使用 Cale

阅读《Android 从入门到精通》(17)——进度条

进度条(ProgressBar) java.lang.Object; android.view.View; android.widget.ProgressBar; ProgressBar 类方法 ProgressBar 演示样例 完整project:http://download.csdn.net/detail/sweetloveft/9416791 以下我们要学习该类中最经常使用的方法.主要是 setMax 和 setProgress 等方法. 1.MainActivity.java pack

阅读《Android 从入门到精通》(33)——Intent 分类

Intent 分类 显式 Intent:Intent("android.intent.action.CALL", Uri.parse("tel:" + string)); 须要指明名字启动.用于程序内多 Activity 交互,通经常使用于应用程序内部消息,有名 Action Intent. 隐式 Intent:一般不指明名字,而是採用广播的形式,一般是 Broadcast Intent. Action Intent: watermark/2/text/aHR0cD

阅读《Android 从入门到精通》(16)——表状时钟

表状时钟(AnalogClock) java.lang.Object; android.view.View; android.widget.AnalogClock; AnalogClock 类方法 AnalogClock 示例 完整工程:http://download.csdn.net/detail/sweetloveft/9416138 这个程序只要贴图就可以了,回想之前的 DigitalClock,后来查证得知,这类工程一般是贴图,非要自绘的话,需要派生类做相关的重写,这里面将会用到 Can

阅读《Android 从入门到精通》(31)——Intent

意图(Intent) java.lang.Object; android.content.intend; android.content.pm.LabeledIntent; 主要分为 Action Intent 和 Broadcast Intent,Intent 服务于 Android 三大核心组件:Activity.Services.Broadcast Receiver Intent 的处理方式 Intent 启动新的 Activity public void StartMainActivit

阅读《Android 从入门到精通》(20)——图片视图

图片视图(ImageView) ImageView 类属于 android.Widget 包并且继承于 android.widget.View 类,派生了 ImageButton 和 ZoomButton 等子类,主要用于对图片作相关处理.可以通过 setImageBitmap 方法或 setImageResource(int) 方法设置图片资源,或者通过 android:src 属性指定. ImageView 类方法 ImageView 示例 完整工程:http://download.csdn

阅读《Android 从入门到精通》(15)——数字时钟

数字时钟(DigitalClock) java.lang.Object; android.view.View; android.widget.TextView; android.widget.DigitalClock; DigitalClock 类方法 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >