我有一个自定义视图,将文本绘制到画布上.我想将Font更改为assets文件夹中存储的字体.
我正在使用Android Studio,因此我创建了一个文件夹src/main/assets并将我的ttf文件放在那里.
Paint txt = new Paint()
Typeface font = Typeface.createFromAsset(getAssets(), "robotobold.ttf");
txt.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
问题是Android Studio无法识别我的自定义视图中的getAssets(),但它在我的Activity中识别它.我试过从我的Activity中传递Typeface但是当我这样做时它不会改变字体.
Phi*_*hil 61
您可以使用您View
的getContext()
方法获取当前值Context
,然后使用它来获取资产:
Typeface font = Typeface.createFromAsset(getContext().getAssets(), "robotobold.ttf");
Run Code Online (Sandbox Code Playgroud)
小智 29
首先,你必须将你的assets
文件夹保存在你的内部project
而不是内部src/main
..然后,创建一个名为fonts
inside 的文件夹assets
.然后,将特定的字体字体ttf files
放在其中.您可以在编码中使用字体字体,如:
Typeface type = Typeface.createFromAsset(getAssets(),"fonts/filename.ttf");
textview.setTypeface(type);
Run Code Online (Sandbox Code Playgroud)
创建了一个文件夹 src/main/assets 并将字体文件放在那里。
在活动中
Typeface font = Typeface.createFromAsset(getAssets(), "Mukta-Regular.ttf");
tv.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
在片段中
Typeface.createFromAsset(getActivity().getAssets(), "Mukta-Regular.ttf");
tv.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
57884 次 |
最近记录: |