android xml黑体字 | 您所在的位置:网站首页 › android studio设置字体 › android xml黑体字 |
默认字体 Android SDK自带了四种字体:"normal"“monospace",“sans”, “serif”,如下: 字体 看这四兄弟长的还是蛮像,我是看不出多大差别。。。 设置方式 1.通过XML文件设置 android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="monospace" android:textSize="20dp" android:textColor="#000000" android:typeface="monospace" android:layout_margin="5dp"/> 2.Java代码中设置 TextView txtNormal = (TextView) findViewById(R.id.txt_normal); txtNormal.setTypeface(Typeface.MONOSPACE); 设置第三方字体 Res中使用 右键选择项目的app / res文件夹,然后选择New > Android resource directory。 image.png Resource type中选择font,File name名为font。 image.png 将字体文件拷贝到font中 image.png java代码中使用 TextView txtNormal = (TextView) findViewById(R.id.txt_helvetica); Typeface typeface = ResourcesCompat.getFont(this, R.font.helvetica); txtNormal.setTypeface(typeface); Assets中使用 新建Assets及fonts目录,并将字体文件拷贝到fonts目录下 拷贝字体 在java代码中使用 TextView txtNormal = (TextView) findViewById(R.id.txt_helvetica); Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/helvetica.ttf"); txtNormal.setTypeface(typeface); 第三方框架全局字体设置 这里推荐一个第三方字体设置库Calligraphy,详细可以点击连接 添加依赖 compile 'uk.co.chrisjenx:calligraphy:2.3.0' 新建Application public class BaseApplication extends Application { @Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/Helvetica.ttf") .setFontAttrId(R.attr.fontPath) .build() ); } } 在Activity中重写attachBaseContext方法 @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); } 在xml中使用 android:id="@+id/txt_helvetica" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Lorem ipsum" android:textSize="20dp" android:textColor="#000000" android:layout_margin="5dp" fontPath="fonts/Helvetica.ttf" tools:ignore="MissingPrefix"/> 如果fontPath="fonts/Helvetica.ttf"报错,在View上添加 tools:ignore="MissingPrefix”即可。 其他具体功能,详见Calligraphy |
CopyRight 2018-2019 实验室设备网 版权所有 |