栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

自定义字体和XML布局(Android)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自定义字体和XML布局(Android)

TextViewPlus.java:

package com.example;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Typeface;import android.util.AttributeSet;import android.util.Log;import android.widget.TextView;public class TextViewPlus extends TextView {    private static final String TAG = "TextView";    public TextViewPlus(Context context) {        super(context);    }    public TextViewPlus(Context context, AttributeSet attrs) {        super(context, attrs);        setCustomFont(context, attrs);    }    public TextViewPlus(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        setCustomFont(context, attrs);    }    private void setCustomFont(Context ctx, AttributeSet attrs) {        TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.TextViewPlus);        String customFont = a.getString(R.styleable.TextViewPlus_customFont);        setCustomFont(ctx, customFont);        a.recycle();    }    public boolean setCustomFont(Context ctx, String asset) {        Typeface tf = null;        try {        tf = Typeface.createFromAsset(ctx.getAssets(), asset);          } catch (Exception e) { Log.e(TAG, "Could not get typeface: "+e.getMessage()); return false;        }        setTypeface(tf);          return true;    }}

attrs.xml:(以res / values为单位)

<?xml version="1.0" encoding="utf-8"?><resources>    <declare-styleable name="TextViewPlus">        <attr name="customFont" format="string"/>    </declare-styleable></resources>

main.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:foo="http://schemas.android.com/apk/res/com.example"    android:orientation="vertical" android:layout_width="fill_parent"    android:layout_height="fill_parent">    <com.example.TextViewPlus        android:id="@+id/textViewPlus1"        android:layout_height="match_parent"        android:layout_width="match_parent"        android:text="@string/showingOffTheNewTypeface"        foo:customFont="saxmono.ttf">    </com.example.TextViewPlus></LinearLayout>

你将在资产文件夹中放入

“ saxmono.ttf”



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/365790.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号