我想用Arial字体显示文字。但Arial字体在Android系统字体中不可用。我不想在我的应用程序中使用arial ttf文件。有没有其他方法可以使用Arial字体应用文本。
答案 0 :(得分:9)
如果Android系统中没有该字体,则必须使用该字体文件将该特定字体应用于textView
。我可以知道为什么你不愿意使用字体文件来应用,因为它提供相同的功能。
使用字体文件的示例用法是:
Typeface tfArial = Typeface.createFromAsset(getAssets(), "arial.ttf");
TextView tv = null;
// find the textview id from layout or create dynamically
tv.setTypeface(tfArial);
修改强>
您需要将字体文件arial.ttf
放在asset
文件夹中。
答案 1 :(得分:4)
下载Arial字体并在资源中创建带有“fonts”的文件夹名称并在那里保存字体
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/arial.ttf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
答案 2 :(得分:1)
您可以通过转到
从android studio添加谷歌字体系列答案 3 :(得分:0)
考虑使用Calligraphy在Android应用程序中使用任何自定义字体。
您不需要在每个TextView中添加代码来应用字体。只需在应用程序启动时初始化,就可以了。
答案 4 :(得分:0)
使用Java代码或XML创建TextView
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:textSize="15sp"
android:textColor="@color/tabs_default_color"
android:gravity="center"
android:layout_height="match_parent"
/>
请确保将ID保留在此处,因为如果您使用自定义textview,TabLayout会检查此ID
然后从代码中扩充此布局并在该textview上设置自定义Typeface
并将此自定义视图添加到选项卡
for (int i = 0; i < tabLayout.getTabCount(); i++) {
//noinspection ConstantConditions
TextView tv=(TextView)LayoutInflater.from(this).inflate(R.layout.custom_tab,null)
tv.setTypeface(Typeface);
tabLayout.getTabAt(i).setCustomView(tv);
}
答案 5 :(得分:-1)
您只需在“res”内的“fonts”文件夹中添加.ttf文件即可创建自定义字体:
xml文件包含:
ret=`python -c 'import sys; print("%i" % (sys.hexversion<0x03000000))'`
if [ $ret -eq 0 ]; then
echo "Python 2.7.x required"
else
echo "Python version is < 3.x"
fi
就是这样!您可以在每个TextView中使用此字体,只需添加 android:fontFamily 属性。
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
<font
android:font="@font/nunito_extrabold"
android:fontStyle="normal"
android:fontWeight="400" />
</font-family>