我如何在Android中使用图像作为数字/字母?

我如何在Android中使用图像作为数字/字母?,android,fonts,android-image,Android,Fonts,Android Image,我正在开发一个需要显示计数的应用程序。例如,该计数将显示“4”,然后是“4+1”,最后是“5”。我有.png图像,我想用它作为数字的背景,所以如果需要的话,我可以很容易地显示高达“99”的任何内容 所以基本上,我想给一个数字分配一个可绘制的背景。定制字体是一种可行的方法吗?提到了带有指定字符串的H字体和视图组。有人试过这个吗 实际上,您只需要一个大小为10的数组: HashMap<char, Drawable> charMap = new HashMap(Character, Dra

我正在开发一个需要显示计数的应用程序。例如,该计数将显示“4”,然后是“4+1”,最后是“5”。我有.png图像,我想用它作为数字的背景,所以如果需要的话,我可以很容易地显示高达“99”的任何内容


所以基本上,我想给一个数字分配一个可绘制的背景。定制字体是一种可行的方法吗?提到了带有指定字符串的H字体和视图组。有人试过这个吗

实际上,您只需要一个大小为10的数组:

HashMap<char, Drawable> charMap = new HashMap(Character, Drawable>();
Resources res = getResources();
charMap.put('0', new Drawable(res, R.drawable.img_0));
charMap.put('1', new Drawable(res, R.drawable.img_1));
// the rest of the characters you want to use
Resources res = getResources();
Drawable numbers = new Drawable[10]{
   new Drawable(res, R.drawable.zero),
   new Drawable(res, R.drawable.one),
   new Drawable(res, R.drawable.two),
   ...
   new Drawable(res, R.drawable.nine)
};
要得到它们,只需使用:

int i = 5;
Drawable image = numbers[i];
如果数字有两位数字,那么您可以输入两张图片等

您也可以创建一个非常大的数组,但这实际上是在浪费线。
另外,当您仅使用10张图片时所需的空间要小得多

我的问题与您的问题完全相同(您提供的链接),希望使用图像作为数字。还在寻找答案。嗨!我使用了这个,并进行了调整:int[]number={R.drawable.zero,R.drawable.one,R.drawable.four2x,…R.drawable.nine2x};Drawable d=getResources().getDrawable(数字[0]);谢谢
int i = 5;
Drawable image = numbers[i];