在AppWidget上使用自定义Typeface
工作中需要在AppWidget上显示一些特殊字符,需要用到自己的 字体配置文件
Appwidget 的 RemoteViews并不提供API方法,无法设置TextView的Typeface属性。
这里用了些歪门邪道。
Typeface someFont = Typeface.createFromAsset(context.getAssets(), "Dr.eye_phonetic_symbol.ttf");
/**
* 构建音标图片
*/
Bitmap bitmap=Bitmap.createBitmap(300,30,Bitmap.Config.ARGB_8888);
Canvas canvas=new Canvas(bitmap);
Paint paint=new Paint();
paint.setTypeface(someFont);
paint.setTextSize(14);
paint.setARGB(255, 147, 122, 74);
canvas.drawText(soundmark, 0, 20, paint);
canvas.save();
调用底层,直接把这个文字绘成图片
然后调用
setImageViewBitmap方法将其显示在AppWidget上
views.setImageViewBitmap(R.id.appwidget_soundmark, bitmap);
分享到:
相关推荐
在Java代码中,使用`Typeface.createFromAsset()`方法创建一个`Typeface`对象,该对象代表了你的自定义字体。例如: ```java Typeface customFont = Typeface.createFromAsset(getAssets(), "fonts/myCustomFont.ttf...
如果希望整个应用都使用同一字体,可以在AppTheme中设置自定义字体。首先,创建一个自定义的TypefaceSpan类: ```java public class CustomTypefaceSpan extends TypefaceSpan { private Typeface typeface; ...
通过以上步骤,您可以轻松地在Android应用中实现个性化字体样式,让您的APP在视觉上脱颖而出。无论是局部还是全局的应用,都需要充分考虑到用户体验、性能和兼容性,以打造一个既美观又高效的Android应用。
综上所述,Android全局字体样式的设置涉及多个层面,包括自定义主题、使用自定义字体文件、自定义ViewGroup、利用AppCompat库以及适配不同场景。通过灵活运用这些方法,开发者可以打造出具有独特视觉风格的应用程序...
综上所述,通过结合使用`font` XML资源和`style`,我们可以方便地在Android应用中实现全局字体样式替换。这种方法不仅提高了代码的可维护性,还能确保在不同设备和屏幕尺寸上提供一致的视觉体验。在`FontDemo`项目中...
在主Activity中,使用自定义的Delegate: ```java MyAppCompatDelegate delegate = new CustomDelegate(this); AppCompatActivity.setDelegate(delegate); ``` 同时别忘了在设置界面的`onProgressChanged`回调中...
与传统的图片相比,IconFont具有体积小、清晰度高、适应性好等优点,特别适合在移动设备上使用。 1. 引入IconFont库: 在Android项目中使用IconFont,首先需要获取一个图标字体库,如阿里巴巴的IconFont图标库...
7. **对API版本的兼容**:为了确保在不同Android版本上的兼容性,可以使用`AppCompatActivity`和`android.support.v7.app.ActionBar`。如果使用AndroidX库,则使用` androidx.appcompat.app.AppCompatActivity` 和 `...
要使用非系统自带的字体,首先需要将字体文件放入`assets/fonts`目录下,然后创建一个自定义TextView或自定义Typeface对象。例如: ```java // Java TextView textView = findViewById(R.id.custom_font_text_...
在这种情况下,你需要确保自定义字体文件包含了所有可能使用的字符,或者为特定语言提供备用字体。 此外,如果你的应用程序需要动态改变字体,可以使用`Typeface`类。通过加载字体文件并创建`Typeface`对象,然后将...
例如,假设你有一个自定义字体文件`custom_font.ttf`存储在`res/font`目录下,你可以这样使用: ```xml android:text="Hello, World!" android:layout_width="wrap_content" android:layout_height="wrap_...
1. **Material Design组件**: AppCompat提供了诸如FloatingActionButton、ToolBar、CardView、RecyclerView等Material Design组件的兼容版本,使开发者能够在低版本Android设备上使用这些现代UI元素。 2. **...
在Android开发中,`TabLayout`是一个非常常用的组件,它被设计用来展示多个标签页,通常与`ViewPager`配合使用,以实现滑动切换不同页面的功能。本教程将详细介绍如何在项目中简单地使用`TabLayout`,并调整字体设置...
对于早期版本的Android,我们通常使用ActionBar,而在Android 5.0(Lollipop)及以后版本,系统推荐使用ToolBar,它提供了更多的自定义选项。在这个教程中,我们将以ToolBar为例进行讲解,因为它是现代Android应用中...
本文将详细介绍如何在Android中修改字体样式,包括使用系统提供的字体样式、自定义字体文件以及批量设置字体样式的方法。 首先,Android系统本身提供了一些内置的字体样式。可以通过设置`typeface`属性或`font...
此外,对于更复杂的文字样式变更,可以使用Typeface对象来改变字体风格,例如粗体、斜体或自定义字体。还可以通过SpannableString和CharacterStyle来实现更精细的控制,如部分文字的颜色、下划线等。这些技术都为...