編輯:關於Android編程
漢化recovery很簡單,recovery不顯示中文就是因為它不帶中文字庫,所以顯示不了。所以我們只要加入中文字庫,然後在顯示的時候進行一次中英文判斷就好了。
首先進入cm10.1/bootable/recovery/minui目錄下:
把我們自己的字庫名字改成font_10x18.h替換掉原來的font_10x18.h(字庫可以自己制作,各種字體都行,現在我也忘了怎麼制作了,在網上下載了個)
然後編輯graphics.c文件
加入一個全局變量
const unsigned cw_en=10; //因為那我們制作的字體是10X18的,後移一次的時候就是10
然後把函數int gr_text(int x, int y, const char *s)
int gr_text(int x, int y, const char *s)
{
...
while((off = *s++)) {
if (off < 0x80) //小於0x80是可見的字符
{
off -= 32;
if (off < 96) {
if ((x + cw_en) >= gr_fb_width()) return x;
gl->texCoord2i(gl, (off * font->cwidth) - x, 0 - y);
gl->recti(gl, x, y, x + cw_en, y + font->cheight);
}
x += cw_en;
}
//add begin by dwq for show 20130328
else
{
if ((off & 0xF0) == 0xE0)
{
off2 = *s++;
off3 = *s++;
unicode = (off & 0x1F) << 12;
unicode |= (off2 & 0x3F) << 6;
unicode |= (off3 & 0x3F);
id = getUNICharID(unicode);
if (id >= 0) {
if ((x + font->cwidth) >= gr_fb_width()) return x;
gl->texCoord2i(gl, ((id % 96) * font->cwidth) - x, (id / 96 + 1) * font->cheight - y);
gl->recti(gl, x, y, x + font->cwidth, y + font->cheight);
x += font->cwidth;
} else {
x += font->cwidth;
}
} else {
x += cw_en;
}
}
//add end by dwq for show 20130318
...
}
在這個函數裡面還調用了一個 id = getUNICharID(unicode);
所以我們還要加入這個函數
int getUNICharID(unsigned short unicode)
{
int i;
for (i = 0; i < UNICODE_NUM; i++) {
if (unicode == unicodemap[i]) return i;
}
return -1;
}
之後我們就可以把英文字符串直接修改成中文就可以了顯示出來了。
小提示:
不要使用sourch insight修改成中文,否則顯示出來的效果會是亂碼,之前被這個問題坑了我好久,原理一點問題都沒有,就是顯示不出來,真心是讓我無解了一段時間。後來我是直接在vim裡面修改的。
一.AsyncTask的簡介在Android中實現異步任務機制有兩種方式,Handler和AsyncTask。Handler模式需要為每一個任務創建一個新的線程,任務完成
實現目標 相信大家都知道毛玻璃效果是怎樣的,也可以說是高斯模糊效果。效果圖如下: 這是一個透明,且會對背景進行高斯模糊的效果,看起來就像是毛玻璃一樣,其實不光是側滑
生命周期流程圖: 注:Activity生命周期void onCreate()* Activity已經被創建完畢void onStart()* Activity已
本文實例總結了Android編程中圖片特效處理方法。分享給大家供大家參考,具體如下:這裡介紹的Android圖片處理方法包括:轉換 - drawable To