Android修改字体_android设置字体样式

Android修改字体_android设置字体样式1.将需要添加的ttf字体文件放在frameworks/base/data/fonts/目录A:frameworks/base/data/fonts/clock_thin.ttf2.修改frameworks/base/data/fonts/Android.mk文件,将字体文件编译到system/fonts/目录中M:frameworks/base/data/fonts/Android.mkfont_src_files:=\AndroidClock.ttf\clo

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.将需要添加的ttf字体文件放在 frameworks/base/data/fonts/ 目录

A:frameworks/base/data/fonts/clock_thin.ttf

2.修改 frameworks/base/data/fonts/Android.mk 文件,将字体文件编译到 system/fonts/ 目录中

M:frameworks/base/data/fonts/Android.mk

font_src_files := \
    AndroidClock.ttf \
    clock_thin.ttf

3.修改 frameworks/base/data/fonts/fonts.mk 文件

frameworks/base/data/fonts/fonts.mk

PRODUCT_PACKAGES := \
    DroidSansMono.ttf \
    AndroidClock.ttf \
    clock_thin.ttf \
    fonts.xml

4.在 fonts.xml 文件中定义字体对应的名称

frameworks/base/data/fonts/fonts.xml

<family name="clock-font">
    <font weight="400" style="normal">clock_thin.ttf</font>
</family>

5.使用新添加的字体

方法1:

TextView textView = new TextView(mContext);
textView.setTypeface(android.graphics.Typeface.createFromFile("/system/fonts/clock_thin.ttf"));

方法2:

<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:fontFamily="clock-font" />

6.在项目中的具体使用实例

alps/frameworks/base/core/java/android/widget/RemoteViews.java

public class RemoteViews implements Parcelable, Filter { 
   
    ...
    private class TextViewSizeAction extends Action { 
   
        ...
        @Override
        public void apply(View root, ViewGroup rootParent, OnClickHandler handler) { 
   
            final TextView target = root.findViewById(viewId);
            if (target == null) return;

            //通过特殊约定的参数(如77,0)来特殊设置TextView的字体
            if(units == -77 && size == 0f){ 
   
                target.setTypeface(android.graphics.Typeface.createFromFile("/system/fonts/clock_thin.ttf"));
            }else{ 
   
                target.setTextSize(units, size);
            }
        }
        ...
    }
    ...
}

alps/vendor/mediatek/proprietary/packages/apps/DeskClock/src/com/android/alarmclock/DigitalAppWidgetProvider.java

public class DigitalAppWidgetProvider extends AppWidgetProvider { 
   
    private static RemoteViews relayoutWidget(Context context, AppWidgetManager wm, int widgetId, Bundle options, boolean portrait) { 
   
        final String packageName = context.getPackageName();
        final RemoteViews rv = new RemoteViews(packageName, R.layout.digital_widget);
        //通过特殊约定的参数(如77,0)来特殊设置TextView的字体,这里调用setTextViewTextSize方法就会调用RemoteViews的内部类TextViewSizeAction的apply方法
        rv.setTextViewTextSize(R.id.clock, -77, 0f);
        ...
    }
    ...
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188433.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 有关SqlDbType.Decimal

    有关SqlDbType.Decimal今天在开发过程中遇到SqlDbType.Decimal类型的参数,返回值却是没有小数位的整数值,郁闷坏了。查了半天资料,原来需要指定小数位。具体书写如下:               cmd.Parameters.Add(“@Percent”,SqlDbType.Decimal).Direction=ParameterDirection.Output;               cm

    2022年7月20日
    14
  • 国外免费ASP测试空间「建议收藏」

    国外免费ASP测试空间「建议收藏」1、免费asp空间:www.jabry.com演示地址:http://users4.jabry.com/blogcn88/1/mbloghttp://users4.jabry.com/blogcn

    2022年7月2日
    23
  • 优秀ASP.NET程序员修炼之路

    初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够、不全面。写给机器的程序,往往追求的是运行正确、执行效率能满足要求。但程序员的任务仅仅

    2021年12月25日
    46
  • 解决windows系统80端口被占用问题

    解决windows系统80端口被占用问题80端口被system(pid=4)系统占用的解决方法,80端口占用后服务器无法运行

    2025年7月28日
    2
  • ssh 命令连接

    ssh 命令连接Linuxssh命令详解SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成:openssh(提供ssh服务)openssl(提供加密的程序)ssh的客户端可以用XSHELL,Securecrt,Moba…

    2022年6月24日
    29
  • betterIntellij 最新激活码【在线破解激活】[通俗易懂]

    betterIntellij 最新激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    101

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号