• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 18, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            待機(jī)界面如何高仿NOKIA N73

            Posted on 2009-12-19 10:32 ~William~ 閱讀(478) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): MTK_MMI

              待機(jī)界面如何高仿NOKIA N73
            如何仿N73的經(jīng)典界面

            1.1 狀態(tài)欄
                狀態(tài)欄包含電池電量指示,信號(hào)指示,日期時(shí)間顯示,運(yùn)營(yíng)商名字和各個(gè)狀態(tài)圖標(biāo)顯示。
            電池電量顯示:
            圖標(biāo)ID為STATUS_ICON_BATTERY_STRENGTH
            位于MainLCD\IdleScreen\Statusicons\battery 注意的是圖標(biāo)保證5幀。關(guān)于電量顯示的控制位于
            文件PoweronCharger.c
            函數(shù)BatteryStatusIndication 根據(jù)當(dāng)前的電量值設(shè)置顯示的幀數(shù)。
            該圖標(biāo)在狀態(tài)欄的坐標(biāo)
            Wgui_status_icons.c---函數(shù)arrange_status_icons()
            MMI_status_icons[STATUS_ICON_BATTERY_STRENGTH].y = 0;
            MMI_status_icons[STATUS_ICON_BATTERY_STRENGTH].x=220;
            信號(hào)指示圖標(biāo):
            圖標(biāo)ID 為 STATUS_ICON_SIGNAL_STRENGTH
            位于MainLCD\IdleScreen\Statusicons\signal
            文件 NetWorkFunctions.c
            函數(shù)ChangeStatusIconLevel根據(jù)當(dāng)前的信號(hào)值設(shè)置顯示的圖片幀數(shù)。
            該圖標(biāo)在待機(jī)界面的坐標(biāo):
            文件Wgui_status_icons.c---函數(shù)arrange_status_icons()
            MMI_status_icons[STATUS_ICON_SIGNAL_STRENGTH].y = 0;
            MMI_status_icons[STATUS_ICON_SIGNAL_STRENGTH].x=3;
            時(shí)間和日期:
            文件:Wgui_datetime.c
            函數(shù):show_main_LCD_date_time.設(shè)置日期,星期,時(shí)間的顯示坐標(biāo)。
            注意的是:在函數(shù)hide_main_LCD_date_time中需要根據(jù)前面各個(gè)對(duì)象的坐標(biāo)重新設(shè)置刷新區(qū)域的坐標(biāo)。并且修改Wgui_categories_idlescreen.c下面的三個(gè)函數(shù)的注冊(cè)函數(shù)(之前屏蔽的)
            set_main_LCD_dt_date_hide_function(cat33_hide_date_display);
            set_main_LCD_dt_time_hide_function(cat33_hide_time_display);
            set_main_LCD_day_hide_function(cat33_hide_day_string_display);
            為了正確的顯示時(shí)間格式(用戶(hù)選擇12小時(shí)制,會(huì)增加AM/PM兩個(gè)字母),在函數(shù)show_main_LCD_date_time. 時(shí)間顯示的clip的地方增加格式判斷 PhnsetGetTimeFormat()。根據(jù)所返回的時(shí)間格式,設(shè)定clip區(qū)域。
            網(wǎng)絡(luò)運(yùn)營(yíng)商
            文件:Wgui_categories_idlescreen.c
            函數(shù)idle_screen_show_network_details() 調(diào)整網(wǎng)絡(luò)運(yùn)營(yíng)商的名字坐標(biāo)
            狀態(tài)圖標(biāo)
            狀態(tài)圖標(biāo)包括消息接受提示,情景模式,外部電池等。圖標(biāo)的排列位于:
            文件:Wgui_status_icons.c
            函數(shù):arrange_status_icons()
            位于代碼段:
            x-=MMI_status_icons[k].width+STATUS_ICON_X_GAP;
            實(shí)現(xiàn)圖標(biāo)自右向左的排列。每當(dāng)有新的狀態(tài)產(chǎn)生,圖標(biāo)就向左移動(dòng)排列。
            1.2  快捷鍵
            設(shè)置待機(jī)界面上各個(gè)快捷方式的坐標(biāo)以及響應(yīng)函數(shù)
            文件Wgui_categories_idlescreen.c
            函數(shù)setup_touch_idle_screen_shortcut。通過(guò)該函數(shù)設(shè)置各個(gè)快捷鍵圖標(biāo)的坐標(biāo)以及各自的響應(yīng)函數(shù)。
            文件 Shortcuts.c
            修改如下函數(shù):
            ShctExecuteUpKey 功能修改為按鍵上移,高亮快捷鍵第一個(gè)圖標(biāo)或者動(dòng)態(tài)列表項(xiàng)
            ShctExecuteDownKey功能修改為按鍵下移,高亮快捷鍵第一個(gè)圖標(biāo)或者動(dòng)態(tài)列表項(xiàng)
            ShctExecuteLeftKey功能修改為按鍵左移,高亮左邊模塊,如果已經(jīng)是第一個(gè),則高亮最后一個(gè)
            ShctExecuteRightKey功能修改為按鍵右移,高亮右邊模塊,如果已經(jīng)是最后個(gè),則高亮第一個(gè)
            函數(shù)ShctExecuteOKKey 根據(jù)高亮的快捷鍵,進(jìn)入對(duì)應(yīng)的模塊。
            文件MMI_features_GuiPLUTO.h
                MMI_features_GUI.h
            可以打開(kāi)或關(guān)閉是否顯示shortcut的宏
            __MMI_TOUCH_IDLESCREEN_SHORTCUTS__。

            為了同時(shí)顯示快捷鍵和屏幕下方的左右按鍵。需要在函數(shù)ShowCategory33Screen中 屏蔽dm_data.s32flags |= DM_NO_SOFTKEY;
            1.3 日歷項(xiàng)以及音樂(lè)播放提示
              為了實(shí)現(xiàn)日歷項(xiàng)和音樂(lè)播放曲目的正確顯示,需要在待機(jī)界面增加動(dòng)態(tài)列表
            文件Wgui_categories_idlescreen.c
                   函數(shù)ShowCategory33Screen()
            添加動(dòng)態(tài)列表:
            create_fixed_icontext_menuitems();
                MMI_current_menu_type=LIST_MENU;
            associate_fixed_icontext_list();
            設(shè)置列表中各個(gè)項(xiàng)的標(biāo)題和圖標(biāo):
              init_dynamic_item_buffer(ItemsOfCat33,Cat33GetItemCallback,NULL,UI_dummy_function);
            ItemsOfCat33:動(dòng)態(tài)列表中項(xiàng)的個(gè)數(shù)。由當(dāng)前系統(tǒng)運(yùn)行的程序決定。
            Cat33GetItemCallback:該回調(diào)函數(shù)注冊(cè)各個(gè)項(xiàng)的標(biāo)題和圖標(biāo)。
            在上述函數(shù)中,首先對(duì)日歷項(xiàng)的存儲(chǔ)區(qū)進(jìn)行判斷是否有內(nèi)容,如果有內(nèi)容,繼續(xù)判斷該日歷項(xiàng)的日期是否在當(dāng)日,如果是,將該字符串顯示在項(xiàng)中。如果今日有多個(gè)項(xiàng),則顯示在日歷項(xiàng)序列中最早的一個(gè)。如果日歷項(xiàng)的日期不是今日,則顯示“今天無(wú)日歷項(xiàng)”。
            文件Todolist.c
            函數(shù):TDLDeleteAllTask ()
            該函數(shù)的作用是刪除全部的備忘錄日歷項(xiàng)。因此,需要清空記錄緩沖區(qū)的記錄,防止在待機(jī)界面的日歷項(xiàng)仍然顯示。
            memset(&g_tdl_cntx.NoteBuff,0,MAX_TODO_LIST_NOTE);
            2 綜合
            2.1修改每個(gè)新版本的默認(rèn)日期:
            文件:Custom_hw_default.c
            數(shù)字代表基準(zhǔn)年份的偏移。8代表2008。月份和天同理
              const kal_uint8 DEFAULT_HARDWARE_YEAR = 8; 
              const kal_uint8 DEFAULT_HARDWARE_MON = 1;
              const kal_uint8 DEFAULT_HARDWARE_DAY = 1;
            2.2 通話
            文件:CallManagementIncoming.c
            當(dāng)有外部來(lái)電的時(shí)候,進(jìn)入函數(shù)
            EntryScrIncomingCallEvent
            文件:Wgui_categories_CM.c
            函數(shù) ShowMOMTCallScreen 很多通話事件的屏幕都需要進(jìn)入該函數(shù)。可以通過(guò)該函數(shù),查找到各個(gè)通話事件的流程。可以對(duì)已有的屏幕做界面修改。
            3.3 撥號(hào)盤(pán)
            文件:IdleApp.c
            函數(shù):IdleDisableLongPress
            由于長(zhǎng)按鍵之后,需要重新注冊(cè)和清楚一些按鍵。而原函數(shù)為了達(dá)到這一效果,又重新調(diào)用了函數(shù)IdleScreenDigitHandler,雖然達(dá)到了目的,但是會(huì)造成第一次按鍵反應(yīng)慢,因此,在IdleDisableLongPress函數(shù)內(nèi)部禁止調(diào)用前一個(gè)函數(shù),將函數(shù)中注冊(cè)和清除的按鍵寫(xiě)在IdleDisableLongPress中。


            本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/chenzhp/archive/2009/03/14/3990510.aspx

            亚洲精品WWW久久久久久 | 99久久精品免费| 久久99精品久久久久久hb无码 | 日本亚洲色大成网站WWW久久| 欧美与黑人午夜性猛交久久久 | 97久久超碰国产精品旧版| 91视频国产91久久久| 国内精品久久久久久久coent | 午夜精品久久久久久久| 国内精品久久久久久99| 久久99精品久久久久久不卡| 久久毛片一区二区| 日韩亚洲欧美久久久www综合网| 亚洲一区精品伊人久久伊人| 久久大香香蕉国产| 日本精品久久久久久久久免费| 国内精品久久久久久99蜜桃| 中文字幕无码av激情不卡久久| 青青国产成人久久91网| 亚洲中文字幕无码久久综合网| 国产—久久香蕉国产线看观看| 东方aⅴ免费观看久久av| 久久久久久久亚洲精品| 韩国三级大全久久网站| 伊人久久大香线蕉av一区| 亚洲国产成人精品91久久久 | 久久精品无码专区免费| 久久综合精品国产二区无码| 久久97久久97精品免视看| 国产精品久久久久无码av| 狠狠精品干练久久久无码中文字幕 | 亚洲香蕉网久久综合影视 | 久久99亚洲网美利坚合众国| 久久人人爽人人爽人人av东京热| 国产成人精品久久一区二区三区av| 久久精品国产亚洲av日韩| 亚洲综合伊人久久大杳蕉| 色妞色综合久久夜夜| 久久99九九国产免费看小说| 久久久久无码国产精品不卡| 久久久WWW成人|