随笔 - 96  文章 - 0  评论 - 6  阅读 - 21万

Android widget中的一个TextView中的字体设置不同大小

在Android桌面widget中实现一个textview显示两种大小的字体,效果图如下

关键代码如下:

               // 歌曲名称
                String songTitle = curSongInfo.getTitle();
                // 没有歌曲名,则显示“未知”
                if (TextUtils.isEmpty(songTitle) || songTitle.equals("null"))
                {
                    songTitle = context.getResources().getString(R.string.unKnow);
                }
                // 艺术家名称
                String artistname = curSongInfo.getArtistname();
                if (TextUtils.isEmpty(artistname) || artistname.equals("artistname"))
                {
                    artistname = context.getResources().getString(R.string.unKnow);
                }
                String showNanme = songTitle+" — " + artistname;
                Spannable WordtoSpan = new SpannableString(showNanme);
                // 设置歌曲名的文字大小
                WordtoSpan.setSpan(new AbsoluteSizeSpan(context.getResources().getDimensionPixelSize(R.dimen.text_size_30sp)), 0, songTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                // 设置艺术名的文字大小
                WordtoSpan.setSpan(new AbsoluteSizeSpan(context.getResources().getDimensionPixelSize(R.dimen.text_size_22sp)), songTitle.length(), showNanme.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                remoteView.setCharSequence(R.id.tv_song, "setText", WordtoSpan);
                ComponentName componentName = new ComponentName(context, MusicPlayerWidget.class);
                AppWidgetManager.getInstance(context).updateAppWidget(componentName, remoteView);

参考:http://txlong-onz.iteye.com/blog/1142781

posted on   白衣雨果  阅读(475)  评论(0编辑  收藏  举报
编辑推荐:
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
阅读排行:
· JDK 24 发布,新特性解读!
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· SQL Server如何跟踪自动统计信息更新?
· windows下测试TCP/UDP端口连通性
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示