菜單顯示方法及裝置制造方法
【專利摘要】本公開揭示了一種菜單顯示方法及裝置,屬于計(jì)算機(jī)【技術(shù)領(lǐng)域】。所述菜單顯示方法包括:獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);根據(jù)設(shè)備的屏幕分辨率確定設(shè)備的設(shè)備類型;按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,菜單包含菜單數(shù)據(jù)項(xiàng);將菜單反饋給應(yīng)用程序,由應(yīng)用程序顯示菜單。通過獲取的設(shè)備的屏幕分辨率確定設(shè)備類型,按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單;解決了相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題;達(dá)到了可以保證所生成的菜單尺寸與設(shè)備的屏幕尺寸比例相協(xié)調(diào)的效果。
【專利說明】菜單顯示方法及裝置
【技術(shù)領(lǐng)域】
[0001]本公開涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種菜單顯示方法及裝置。
【背景技術(shù)】
[0002]隨著Android系統(tǒng)的發(fā)展,越來越多的設(shè)備開始使用Android系統(tǒng),Android系統(tǒng)需要適配的屏幕尺寸也越來越多樣,其中主要以智能手機(jī)屏幕和平板電腦屏幕為主。
[0003]在設(shè)備中運(yùn)行應(yīng)用程序,當(dāng)應(yīng)用程序需要展示菜單時(shí),根據(jù)應(yīng)用程序當(dāng)前的狀態(tài)生成菜單數(shù)據(jù)項(xiàng),該菜單數(shù)據(jù)項(xiàng)可以包括菜單名稱、圖標(biāo)和數(shù)據(jù)項(xiàng)的標(biāo)識(shí)等信息,并根據(jù)應(yīng)用程序預(yù)先設(shè)定好的菜單尺寸顯示具有菜單數(shù)據(jù)項(xiàng)的菜單窗口。
[0004]發(fā)明人在實(shí)現(xiàn)本公開的過程中,發(fā)現(xiàn)相關(guān)技術(shù)至少存在如下缺陷:由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題。比如,在手機(jī)上,菜單通常占據(jù)整個(gè)屏幕寬度和大部分的屏幕高度,而在平板電腦上,菜單占用的屏幕面積小于屏幕面積的1/4。
【發(fā)明內(nèi)容】
[0005]為了克服相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題,本公開提供一種菜單顯示方法及裝置。
[0006]根據(jù)本公開實(shí)施例的第一方面,提供一種菜單顯示方法,應(yīng)用于安裝有應(yīng)用程序的設(shè)備中,包括:
[0007]獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);
[0008]根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型;
[0009]按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,所述菜單包含所述菜單數(shù)據(jù)項(xiàng);
[0010]將所述菜單反饋給所述應(yīng)用程序,由所述應(yīng)用程序顯示所述菜單。
[0011]可選的,所述根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型,包括:
[0012]當(dāng)所述設(shè)備的屏幕分辨率為第一類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第一類型設(shè)備;
[0013]當(dāng)所述設(shè)備的屏幕分辨率為第二類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第二類型設(shè)備。
[0014]可選的,所述按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,包括:
[0015]當(dāng)所述設(shè)備為第一類型設(shè)備時(shí),則查找所述設(shè)備的系統(tǒng)中預(yù)存的與所述屏幕分辨率對應(yīng)的菜單尺寸;生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單;
[0016]當(dāng)所述設(shè)備為第二類型設(shè)備時(shí),則根據(jù)所述應(yīng)用程序的資源設(shè)置,計(jì)算與所述資源設(shè)置對應(yīng)的菜單尺寸;生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單;
[0017]其中,所述資源設(shè)置包括對所述應(yīng)用程序的背景圖的尺寸和/或文字的大小進(jìn)行的設(shè)置。
[0018]可選的,所述生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單,包括:
[0019]判斷所述菜單數(shù)據(jù)項(xiàng)的數(shù)量是否大于預(yù)定數(shù)量閾值;
[0020]當(dāng)判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量小于或等于所述預(yù)定數(shù)量閾值時(shí),則將各個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;
[0021]當(dāng)判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量大于所述預(yù)定數(shù)量閾值時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)選取預(yù)定個(gè)菜單數(shù)據(jù)項(xiàng),將選取出的所述菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;生成一個(gè)作為所述菜單的一級(jí)元素的父節(jié)點(diǎn),將所述剩余的菜單數(shù)據(jù)項(xiàng)分別確定為所述父節(jié)點(diǎn)下作為所生成菜單的二級(jí)元素的子節(jié)點(diǎn);
[0022]調(diào)整所生成菜單的各個(gè)一級(jí)元素所占用的尺寸以及各個(gè)一級(jí)元素之間的距離,使得所生成的菜單滿足所述菜單尺寸所指示的大??;
[0023]其中,所述預(yù)定個(gè)為所述預(yù)定數(shù)量閾值減I得到的值,所生成菜單的一級(jí)元素被所述應(yīng)用程序進(jìn)行初始顯示,所生成菜單的二級(jí)元素在對應(yīng)的父節(jié)點(diǎn)被觸發(fā)后被所述應(yīng)用程序進(jìn)行展開顯示。
[0024]可選的,所述獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),包括:
[0025]在啟動(dòng)所述應(yīng)用程序運(yùn)行時(shí),獲取所述設(shè)備的屏幕分辨率;接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);或,
[0026]接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);在接收到所述菜單數(shù)據(jù)項(xiàng)之后,獲取所述設(shè)備的屏幕分辨率。
[0027]可選的,所述菜單數(shù)據(jù)項(xiàng)是在所述應(yīng)用程序被觸發(fā)顯示菜單時(shí),根據(jù)所述應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)生成的。
[0028]根據(jù)本公開實(shí)施例的第二方面,提供一種菜單顯示裝置,應(yīng)用于安裝有應(yīng)用程序的設(shè)備中,包括:
[0029]獲取模塊,用于獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);
[0030]確定模塊,用于根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型;
[0031]生成模塊,用于按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,所述菜單包含所述菜單數(shù)據(jù)項(xiàng);
[0032]顯示模塊,用于將所述菜單反饋給所述應(yīng)用程序,由所述應(yīng)用程序顯示所述菜單。
[0033]可選的,所述確定模塊,包括:
[0034]第一確定單元,用于當(dāng)所述設(shè)備的屏幕分辨率為第一類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第一類型設(shè)備;
[0035]第二確定單元,用于當(dāng)所述設(shè)備的屏幕分辨率為第二類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第二類型設(shè)備。[0036]可選的,所述生成模塊,包括:
[0037]查找單元,用于當(dāng)所述設(shè)備為第一類型設(shè)備時(shí),則查找所述設(shè)備的系統(tǒng)中預(yù)存的與所述屏幕分辨率對應(yīng)的菜單尺寸;生成單元,用于生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單;
[0038]計(jì)算單元,用于當(dāng)所述設(shè)備為第二類型設(shè)備時(shí),則根據(jù)所述應(yīng)用程序的資源設(shè)置,計(jì)算與所述資源設(shè)置對應(yīng)的菜單尺寸;所述生成單元,還用于生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單;
[0039]其中,所述資源設(shè)置包括對所述應(yīng)用程序的背景圖的尺寸和/或文字的大小進(jìn)行的設(shè)置。
[0040]可選的,所述生成單元,包括:
[0041]判斷子單元,用于判斷所述菜單數(shù)據(jù)項(xiàng)的數(shù)量是否大于預(yù)定數(shù)量閾值;
[0042]第一確定子單元,用于當(dāng)所述判斷子單元的判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量小于或等于所述預(yù)定數(shù)量閾值時(shí),則將各個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;
[0043]第二確定子單元,用于當(dāng)所述判斷子單元的判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量大于所述預(yù)定數(shù)量閾值時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)選取預(yù)定個(gè)菜單數(shù)據(jù)項(xiàng),將選取出的所述菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;第三確定子單元,用于生成一個(gè)作為所述菜單的一級(jí)元素的父節(jié)點(diǎn),將所述剩余的菜單數(shù)據(jù)項(xiàng)分別確定為所述父節(jié)點(diǎn)下作為所生成菜單的二級(jí)元素的子節(jié)點(diǎn);
[0044]調(diào)整子單元,用于調(diào)整所生成菜單的各個(gè)一級(jí)元素所占用的尺寸以及各個(gè)一級(jí)元素之間的距離,使得所生成的菜單滿足所述菜單尺寸所指示的大小;
[0045]其中,所述預(yù)定個(gè)為所述預(yù)定數(shù)量閾值減I得到的值,所生成菜單的一級(jí)元素被所述應(yīng)用程序進(jìn)行初始顯示,所生成菜單的二級(jí)元素在對應(yīng)的父節(jié)點(diǎn)被觸發(fā)后被所述應(yīng)用程序進(jìn)行展開顯示。
[0046]可選的,所述獲取模塊,包括:
[0047]第一獲取單元,用于在啟動(dòng)所述應(yīng)用程序運(yùn)行時(shí),獲取所述設(shè)備的屏幕分辨率;第一接收單元,用于接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);或,
[0048]第二接收單元,用于接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);第二獲取單元,用于在所述第二接收單元接收到所述菜單數(shù)據(jù)項(xiàng)之后,獲取所述設(shè)備的屏幕分辨率。
[0049]可選的,所述菜單數(shù)據(jù)項(xiàng)是在所述應(yīng)用程序被觸發(fā)顯示菜單時(shí),根據(jù)所述應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)生成的。
[0050]根據(jù)本公開實(shí)施例的第三方面,提供一種菜單顯示裝置,應(yīng)用于安裝有應(yīng)用程序的設(shè)備中,包括:
[0051]處理器;
[0052]用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器;
[0053]其中,所述處理器被配置為:
[0054]獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);
[0055]根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型;
[0056]按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,所述菜單包含所述菜單數(shù)據(jù)項(xiàng);[0057]將所述菜單反饋給所述應(yīng)用程序,由所述應(yīng)用程序顯示所述菜單。
[0058]本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
[0059]通過獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),確定設(shè)備的設(shè)備類型,并按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單;解決了相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題;由于在系統(tǒng)中可以根據(jù)設(shè)備屏幕分辨率確定設(shè)備類型,并可以根據(jù)與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,從而使得為具有同種共性的一類設(shè)備中的應(yīng)用程序生成的菜單尺寸與這類設(shè)備的屏幕尺寸相協(xié)調(diào),同時(shí)還能使得為具有同種共性的另一類設(shè)備中的應(yīng)用程序生成的菜單尺寸與應(yīng)用程序相適應(yīng),因此達(dá)到了可以保證所生成的菜單尺寸與設(shè)備的屏幕尺寸比例相適應(yīng)的效果。
[0060]應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性的,并不能限制本公開。
【專利附圖】
【附圖說明】
[0061]此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實(shí)施例,并于說明書一起用于解釋本發(fā)明的原理。
[0062]圖1是根據(jù)一示例性實(shí)施例示出的一種菜單顯示方法的流程圖;
[0063]圖2A是根據(jù)另一示例性實(shí)施例示出的一種菜單顯示方法的流程圖;
[0064]圖2B是根據(jù)一示例性實(shí)施例示出的在第一類型設(shè)備上顯示有一級(jí)元素的菜單的示意圖;
[0065]圖2C是根據(jù)一示例性實(shí)施例示出的在第二類型設(shè)備上顯示有一級(jí)元素的菜單的示意圖;
[0066]圖2D是根據(jù)一示例性實(shí)施例示出的在第一類型設(shè)備上顯示二級(jí)元素的菜單的示意圖;
[0067]圖2E是根據(jù)一示例性實(shí)施例示出的在第二類型設(shè)備上顯示二級(jí)元素的菜單的示意圖;
[0068]圖3是根據(jù)一示例性實(shí)施例示出的一種菜單顯示裝置的框圖;
[0069]圖4是根據(jù)另一示例性實(shí)施例示出的一種菜單顯示裝置的框圖;
[0070]圖5是根據(jù)再一示例性實(shí)施例示出的一種菜單顯示裝置的框圖。
【具體實(shí)施方式】
[0071]這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本發(fā)明相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0072]圖1是根據(jù)一示例性實(shí)施例示出的一種菜單顯示方法的流程圖,如圖1所示,該菜單顯示方法應(yīng)用于安裝有應(yīng)用程序和系統(tǒng)的設(shè)備中,包括以下步驟。
[0073]在步驟101中,獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng)。
[0074]這里所講的設(shè)備可以為安裝有系統(tǒng)的設(shè)備,比如智能手機(jī)、平板電腦、智能電視、電子書閱讀器、MP3 播放器(Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面 3)、MP4 (Moving Picture Experts Group Audio Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
[0075]菜單數(shù)據(jù)項(xiàng)是用于組成菜單的元素,菜單數(shù)據(jù)項(xiàng)可以至少包括元素名稱、元素標(biāo)識(shí)和元素圖標(biāo)中的前兩種或全部三種。
[0076]在步驟102中,根據(jù)設(shè)備的屏幕分辨率確定設(shè)備的設(shè)備類型。
[0077]在步驟103中,按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,菜單包括菜單數(shù)據(jù)項(xiàng)。
[0078]在步驟104中,將菜單反饋給應(yīng)用程序,由應(yīng)用程序顯示菜單。
[0079]綜上所述,本公開實(shí)施例中提供的菜單顯示方法,通過獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),確定設(shè)備的設(shè)備類型,并按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單;解決了相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題;由于在系統(tǒng)中可以根據(jù)設(shè)備屏幕分辨率確定設(shè)備類型,并可以根據(jù)與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,從而使得為具有同種共性的一類設(shè)備中的應(yīng)用程序生成的菜單尺寸與這類設(shè)備的屏幕尺寸相協(xié)調(diào),同時(shí)還能使得為具有同種共性的另一類設(shè)備中的應(yīng)用程序生成的菜單尺寸與應(yīng)用程序相適應(yīng),因此達(dá)到了可以保證所生成的菜單尺寸與設(shè)備的屏幕尺寸比例相協(xié)調(diào)的效果,并提高了用戶的使用體驗(yàn)。
[0080]在實(shí)際應(yīng)用中,為了保證應(yīng)用程序的菜單能夠自動(dòng)適應(yīng)設(shè)備的屏幕尺寸,且避免針對不同屏幕尺寸的設(shè)備進(jìn)行的重復(fù)代碼的編寫,可以在系統(tǒng)中設(shè)置一菜單顯示子模塊,這樣,在應(yīng)用程序開發(fā)的過程中,開發(fā)人員在根據(jù)M-V-C(Model-View-Control)模型創(chuàng)建應(yīng)用程序的菜單時(shí),僅需要編寫數(shù)據(jù)部分(M)和控制部分(C)的功能代碼,而顯示部分(V)的功能則可以由系統(tǒng)中的菜單顯示子模塊來完成,也即菜單顯示子模塊可以實(shí)現(xiàn)菜單的生成,并為應(yīng)用程序提供生成菜單的調(diào)用接口 API (Application Programming Interface),應(yīng)用程序可以直接調(diào)用該API以完成菜單的顯示。從而可以保證具有同一套編寫代碼的應(yīng)用程序可以在不同類型設(shè)備上實(shí)現(xiàn)菜單的顯示,且顯示的菜單與設(shè)備的屏幕尺寸相適應(yīng)。該菜單顯示子模塊可以實(shí)現(xiàn)圖2A中的功能,具體參見對圖2A中的描述。
[0081]圖2A是根據(jù)另一示例性實(shí)施例示出的一種菜單顯示方法的流程圖,如圖2A所示,該菜單顯示方法應(yīng)用于安裝有應(yīng)用程序和系統(tǒng)的設(shè)備中,包括以下步驟。
[0082]在步驟201中,獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng)。
[0083]這里所講的設(shè)備可以為安裝有系統(tǒng)的設(shè)備,比如智能手機(jī)、平板電腦、智能電視、電子書閱讀器、MP3播放器、MP4播放器和膝上型便攜計(jì)算機(jī)等等。
[0084]這里所講的系統(tǒng)是指可以被安裝在上述各種類型設(shè)備中的系統(tǒng),比如android系統(tǒng)或ios系統(tǒng)等。
[0085]在一種可能的實(shí)現(xiàn)方式中,設(shè)備中的系統(tǒng)可以首先在啟動(dòng)應(yīng)用程序運(yùn)行時(shí),獲取設(shè)備的屏幕分辨率;然后接收應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng)。
[0086]在另一種可能的實(shí)現(xiàn)方式中,設(shè)備中的系統(tǒng)還可以首先接收應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);然后在接收到菜單數(shù)據(jù)項(xiàng)之后,獲取設(shè)備的屏幕分辨率。
[0087]也就是說,當(dāng)設(shè)備中某一個(gè)應(yīng)用程序在啟動(dòng)之后,設(shè)備中的系統(tǒng)可以先獲取設(shè)備的屏幕分辨率,也可以在該應(yīng)用程序被觸發(fā)顯示菜單時(shí),獲取設(shè)備的屏幕分辨率。在實(shí)際應(yīng)用中,應(yīng)用程序在初始運(yùn)行時(shí),可以在初始化時(shí)顯示菜單,此時(shí)系統(tǒng)可以自動(dòng)獲知設(shè)備的屏幕分辨率;而應(yīng)用程序也可以在用戶的觸發(fā)后顯示菜單,此時(shí)在顯示菜單之前,需要向系統(tǒng)通知菜單觸發(fā)指令,以使得系統(tǒng)在接收到菜單觸發(fā)指令之后獲取設(shè)備的屏幕分辨率,且應(yīng)用程序自身也均需要將生成的菜單數(shù)據(jù)項(xiàng)告知給系統(tǒng)。
[0088]這里所講的菜單數(shù)據(jù)項(xiàng)可以是在應(yīng)用程序被觸發(fā)顯示菜單時(shí),根據(jù)應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)生成的。在實(shí)際應(yīng)用中,可以根據(jù)應(yīng)用程序當(dāng)前所展示的界面等信息確定菜單數(shù)據(jù)項(xiàng)。通常來講,應(yīng)用程序的內(nèi)容不同或應(yīng)用程序所顯示的界面不同,能夠?qū)缑嬷兴@示的內(nèi)容進(jìn)行的操作或命令也不同,而菜單中的菜單數(shù)據(jù)項(xiàng)則可以用于指示對所顯示的內(nèi)容進(jìn)行相應(yīng)的操作或命令,因此當(dāng)應(yīng)用程序的內(nèi)容不同或應(yīng)用程序所顯示的界面不同時(shí),對應(yīng)的菜單數(shù)據(jù)項(xiàng)也會(huì)不同。
[0089]通常來講,菜單數(shù)據(jù)項(xiàng)可以是用于組成菜單的元素,菜單數(shù)據(jù)項(xiàng)可以至少包括元素名稱、元素標(biāo)識(shí)、元素圖標(biāo)中的前兩種或全部三種。菜單數(shù)據(jù)項(xiàng)在被觸發(fā)時(shí),可以指引應(yīng)用程序?qū)?yīng)用程序中的內(nèi)容進(jìn)行與菜單數(shù)據(jù)項(xiàng)對應(yīng)的操作。
[0090]在步驟202中,當(dāng)設(shè)備的屏幕分辨率為第一類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將設(shè)備確定為第一類型設(shè)備。
[0091]這里所講的第一類型設(shè)備所對應(yīng)的屏幕分辨率包括手機(jī)等屏幕尺寸較小的屏幕分辨率,比如常見的第一類型設(shè)備(比如手機(jī))的屏幕分辨率包括:320X240、320X480、320X512、480*728、480 X 800、960*640、1280 X 800等,當(dāng)獲取到的設(shè)備的屏幕分辨率為這些第一類型設(shè)備的屏幕分辨率中的一種時(shí),則可以確定該設(shè)備為第一類型設(shè)備。
[0092]在步驟203中,當(dāng)設(shè)備的屏幕分辨率為第二類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將設(shè)備確定為第二類型設(shè)備。
[0093]這里所講的第二類型設(shè)備所對應(yīng)的屏幕分辨率包括平板電腦等屏幕尺寸較大的屏幕分辨率,比如常見的第二類型設(shè)備(比如平板電腦)的屏幕分辨率包括=2560x1600、1024X 768,1280X800,1280X600等,當(dāng)獲取到的設(shè)備的屏幕分辨率為這些第二類型設(shè)備的屏幕分辨率中的一種時(shí),則可以確定該設(shè)備為第二類型設(shè)備。
[0094]在一種可能的實(shí)現(xiàn)方式中,還可以設(shè)置一個(gè)全局變量,比如在應(yīng)用程序初始運(yùn)行時(shí),根據(jù)獲取的屏幕分辨率得到一個(gè)全局變量isTablet,當(dāng)設(shè)備為第一類型設(shè)備時(shí),isTablet的值為True,當(dāng)設(shè)備為第二類型設(shè)備時(shí),isTablet的值為False。
[0095]在步驟204中,當(dāng)設(shè)備為第一類型設(shè)備時(shí),則查找設(shè)備的系統(tǒng)中預(yù)存的與屏幕分辨率對應(yīng)的菜單尺寸;生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單。
[0096]由于第一類型設(shè)備的分辨率往往比較低,而菜單的內(nèi)容通常會(huì)比較多,且對于第一類型設(shè)備來講,設(shè)備的屏幕分辨率通常與設(shè)備的屏幕尺寸成正比,因此在設(shè)置菜單時(shí)需要將菜單的尺寸設(shè)置的與第一類型設(shè)備的分辨率相匹配,從而保證菜單的尺寸與設(shè)備的尺寸比例相協(xié)調(diào)。因此,設(shè)置的與第一類型設(shè)備對應(yīng)的預(yù)定方式為:查找設(shè)備的系統(tǒng)中預(yù)存的與屏幕分辨率對應(yīng)的菜單尺寸;生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單。
[0097]系統(tǒng)在對第一類型設(shè)備生成菜單時(shí),可以在系統(tǒng)開發(fā)的過程中,將與屏幕分辨率對應(yīng)的菜單尺寸預(yù)存在系統(tǒng)中,即預(yù)先通過實(shí)際測試獲取出與每種屏幕分辨率相適應(yīng)的菜單尺寸,并將菜單尺寸與屏幕分辨率對應(yīng)保存至系統(tǒng)。這樣在對第一類型設(shè)備生成菜單時(shí),系統(tǒng)則可以根據(jù)預(yù)存的屏幕分辨率與菜單尺寸的對應(yīng)關(guān)系,查找到與設(shè)備的屏幕分辨率對應(yīng)的菜單尺寸。
[0098]當(dāng)菜單尺寸確定之后,系統(tǒng)則可以根據(jù)菜單生成器生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單。菜單生成器位于系統(tǒng)中菜單顯示子模塊中。
[0099]在步驟205中,當(dāng)設(shè)備為第二類型設(shè)備時(shí),則根據(jù)應(yīng)用程序的資源設(shè)置,計(jì)算與資源設(shè)置對應(yīng)的菜單尺寸;生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單。
[0100]由于第二類型設(shè)備的分辨率往往比較高,且第二類型設(shè)備的屏幕尺寸也比較大,菜單的內(nèi)容相對于第二類型設(shè)備的尺寸來講比較少,因此在設(shè)置菜單時(shí)僅需要將菜單的尺寸設(shè)置的與應(yīng)用程序相適應(yīng)即可。因此,設(shè)置的與第二類型設(shè)備對應(yīng)的預(yù)定方式為:根據(jù)應(yīng)用程序的資源設(shè)置,計(jì)算與資源設(shè)置對應(yīng)的菜單尺寸;生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單。
[0101]也即,系統(tǒng)在對第二類型設(shè)備生成菜單時(shí),可以利用預(yù)先編寫在系統(tǒng)的尺寸計(jì)算代碼計(jì)算出將要為應(yīng)用程序生成的菜單尺寸。
[0102]舉例來講,預(yù)先編寫的尺寸計(jì)算代碼可以根據(jù)應(yīng)用程序的資源設(shè)備,計(jì)算與資源設(shè)備對應(yīng)的菜單尺寸。這里所講的資源設(shè)備可以為對應(yīng)用程序中的背景圖的尺寸和/或文字大小進(jìn)行的設(shè)置。也就是說,可以根據(jù)應(yīng)用程序?qū)Y源的設(shè)置計(jì)算出適應(yīng)于應(yīng)用程序的菜單尺寸。
[0103]當(dāng)菜單尺寸確定之后,系統(tǒng)則可以根據(jù)菜單生成器生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單。在一種可能的實(shí)現(xiàn)方式中,系統(tǒng)在生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單時(shí),可以包括如下步驟:
[0104]第一,判斷菜單數(shù)據(jù)項(xiàng)的數(shù)量是否大于預(yù)定數(shù)量閾值;
[0105]這里的預(yù)定數(shù)量閾值用于指示所生成菜單在初始顯示時(shí)所能顯示的最多菜單數(shù)據(jù)項(xiàng)的數(shù)量。比如,當(dāng)預(yù)定數(shù)量閾值為4時(shí),則表明所生成菜單在初始顯示時(shí),最多能顯示4個(gè)菜單數(shù)據(jù)項(xiàng)。
[0106]預(yù)定數(shù)量閾值的具體取值可以根據(jù)實(shí)際情況進(jìn)行設(shè)備,本實(shí)施例對比不作限定。
[0107]第二,當(dāng)判斷結(jié)果為菜單數(shù)據(jù)項(xiàng)的數(shù)量小于或等于預(yù)定數(shù)量閾值時(shí),則將各個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;
[0108]所生成菜單的一級(jí)元素可以被應(yīng)用程序進(jìn)行初始顯示,也即當(dāng)應(yīng)用程序顯示該生成的菜單時(shí),首先會(huì)顯示該菜單的一級(jí)元素。
[0109]請參見圖2B所示,其是根據(jù)一示例性實(shí)施例示出的在第一類型設(shè)備上顯示有一級(jí)元素的菜單的示意圖。圖2B中為第一類型設(shè)備上顯示的菜單bl,該菜單bl中包含有多個(gè)一級(jí)元素b2。
[0110]請參見圖2C所示,其是根據(jù)一示例性實(shí)施例示出的在第二類型設(shè)備上顯示有一級(jí)元素的菜單的示意圖。圖2C中為第一類型設(shè)備上顯示的菜單Cl,該菜單Cl中包含有多個(gè)一級(jí)元素c2。
[0111]第三,當(dāng)判斷結(jié)果為菜單數(shù)據(jù)項(xiàng)的數(shù)量大于預(yù)定數(shù)量閾值時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)選取預(yù)定個(gè)菜單數(shù)據(jù)項(xiàng),將選取出的菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;生成一個(gè)作為菜單的一級(jí)元素的父節(jié)點(diǎn),將剩余的菜單數(shù)據(jù)項(xiàng)分別確定為父節(jié)點(diǎn)下作為所生成菜單的二級(jí)元素的子節(jié)點(diǎn);
[0112]這里所講的預(yù)定個(gè)為預(yù)定數(shù)量閾值減I得到的值,舉例來講,當(dāng)預(yù)定數(shù)量閾值為4時(shí),則預(yù)定個(gè)為3,也即當(dāng)菜單數(shù)據(jù)項(xiàng)的數(shù)量大于4時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)從高到低選擇3個(gè)菜單數(shù)據(jù)項(xiàng),并將選取出的3個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素。
[0113]同時(shí)還為剩余的菜單數(shù)據(jù)項(xiàng)生成一個(gè)一級(jí)元素,將該一級(jí)元素確定為這些菜單數(shù)據(jù)項(xiàng)的父節(jié)點(diǎn),然后在此父節(jié)點(diǎn)下生成分別與剩余的菜單數(shù)據(jù)項(xiàng)對應(yīng)的二級(jí)元素,這些二級(jí)元素即為該父節(jié)點(diǎn)的子節(jié)點(diǎn)。
[0114]值得注意的是,這里可以為生成的一級(jí)元素設(shè)置菜單數(shù)據(jù)項(xiàng),設(shè)置的菜單數(shù)據(jù)項(xiàng)同樣可以包括元素名稱、元素標(biāo)識(shí)和元素圖標(biāo)中的前兩種或全部三種,比如可以將元素名稱設(shè)置為“更多”,將元素標(biāo)識(shí)設(shè)置為不同于其他一級(jí)元素的元素標(biāo)識(shí),可以將元素圖標(biāo)設(shè)置為不同于其他元素圖標(biāo)的一個(gè)圖標(biāo)。
[0115]在實(shí)際使用時(shí),所生成菜單的二級(jí)元素在對應(yīng)的父節(jié)點(diǎn)被觸發(fā)后被應(yīng)用程序進(jìn)行展開顯示,也即當(dāng)應(yīng)用程序顯示該生成的菜單時(shí),首先會(huì)顯示該菜單的一級(jí)元素,而二級(jí)元素是不顯示的,當(dāng)二級(jí)元素所對應(yīng)的父節(jié)點(diǎn)元素被觸發(fā)時(shí),應(yīng)用程序則展示顯示該父節(jié)點(diǎn)下的二級(jí)元素。
[0116]請參見圖2D所示,其是根據(jù)一示例性實(shí)施例示出的在第一類型設(shè)備上顯示二級(jí)元素的菜單的示意圖。圖2D中的菜單bl中的一級(jí)元素b2a為多個(gè)二級(jí)元素的父節(jié)點(diǎn),當(dāng)該一級(jí)元素b2a并觸發(fā)之后,則將該菜單bl的二級(jí)元素b3進(jìn)行顯示,這些二級(jí)元素b3均為一級(jí)元素b2a的子節(jié)點(diǎn),其中顯示的二級(jí)元素b3包括數(shù)據(jù)項(xiàng)“發(fā)送”、“收藏”、“重命名”、“詳情”以及“壓縮”等。
[0117]請參見圖2E所示,其是根據(jù)一示例性實(shí)施例示出的在第二類型設(shè)備上顯示二級(jí)元素的菜單的示意圖。圖2E中的菜單Cl中的一級(jí)元素c2a為多個(gè)二級(jí)元素的父節(jié)點(diǎn),當(dāng)該一級(jí)元素c2a并觸發(fā)之后,則將該菜單Cl的二級(jí)元素c3進(jìn)行顯示,這里的二級(jí)元素c3為一級(jí)元素c2a的子節(jié)點(diǎn),其中顯示的二級(jí)元素c3包括數(shù)據(jù)項(xiàng)“發(fā)送”、“收藏”、“重命名”、“詳情”以及“壓縮”等。
[0118]第四,調(diào)整所生成菜單的各個(gè)一級(jí)元素所占用的尺寸以及各個(gè)一級(jí)元素之間的距離,使得所生成的菜單滿足菜單尺寸所指示的大??;
[0119]當(dāng)系統(tǒng)生成菜單之后,在未反饋給應(yīng)用程序之前,還需要將生成的菜單的尺寸調(diào)整為步驟204或步驟205確定的菜單尺寸,然后將尺寸被調(diào)整后的菜單反饋給應(yīng)用程序,以便應(yīng)用程序根據(jù)調(diào)整后的菜單進(jìn)行顯示。
[0120]比如,對于第一類型設(shè)備來講,將菜單的尺寸調(diào)整為步驟204所獲取到的菜單尺寸,然后將調(diào)整后的菜單反饋給應(yīng)用程序,由應(yīng)用程序?qū)φ{(diào)整后的菜單進(jìn)行顯示。
[0121]還比如,對于第二類型設(shè)備來講,將菜單的尺寸調(diào)整為步驟205所計(jì)算出的菜單尺寸,然后將調(diào)整后的菜單反饋給應(yīng)用程序,由應(yīng)用程序?qū)φ{(diào)整后的菜單進(jìn)行顯示。
[0122]在步驟206中,將菜單反饋給應(yīng)用程序,由應(yīng)用程序顯示菜單。
[0123]在實(shí)際應(yīng)用中,當(dāng)應(yīng)用程序中所顯示的菜單中的某項(xiàng)菜單數(shù)據(jù)項(xiàng)被觸發(fā)之后,該菜單數(shù)據(jù)項(xiàng)的ID則會(huì)被傳給應(yīng)用程序,以使得應(yīng)用程序進(jìn)行菜單數(shù)據(jù)項(xiàng)所指示的操作。
[0124]由此可知,只要在系統(tǒng)中設(shè)置一個(gè)具有上述步驟201至步驟206功能的菜單顯示子模塊,就可以保證安裝在設(shè)備中的應(yīng)用程序的菜單自動(dòng)按照設(shè)備類型的預(yù)定方式形成與設(shè)備尺寸相適應(yīng)的菜單,比如,在手機(jī)中,為應(yīng)用程序形成的菜單具有與手機(jī)屏幕分辨率對應(yīng)的菜單尺寸,還比如,在平板電腦中,為應(yīng)用程序形成的菜單具有與應(yīng)用程序相適應(yīng)的菜單尺寸,從而可以避免針對不同類型的設(shè)備重復(fù)編寫代碼,導(dǎo)致不易維護(hù)和不易發(fā)布的問題。
[0125]綜上所述,本公開實(shí)施例中提供的菜單顯示方法,通過獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),確定設(shè)備的設(shè)備類型,并按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單;解決了相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題;由于在系統(tǒng)中可以根據(jù)設(shè)備屏幕分辨率確定設(shè)備類型,并可以根據(jù)與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,從而使得為手機(jī)中的應(yīng)用程序生成的菜單尺寸與手機(jī)屏幕尺寸相協(xié)調(diào),同時(shí)還能使得為平板電腦中的應(yīng)用程序生成的菜單尺寸與應(yīng)用程序相適應(yīng),因此達(dá)到了可以保證所生成的菜單尺寸與設(shè)備的屏幕尺寸比例相協(xié)調(diào)的效果,并提高了用戶的使用體驗(yàn)。
[0126]下述為本公開裝置實(shí)施例,可以用于執(zhí)行本公開方法實(shí)施例。對于本公開裝置實(shí)施例中未披露的細(xì)節(jié),請參照本公開方法實(shí)施例。
[0127]圖3是根據(jù)一示例性實(shí)施例示出的一種菜單顯示裝置的框圖,如圖3所示,該菜單顯示裝置應(yīng)用于安裝有應(yīng)用程序和系統(tǒng)的設(shè)備中,該菜單顯示裝置包括但不限于:獲取模塊302、確定模塊304、生成模塊306和顯示模塊308。
[0128]該獲取模塊302被配置為,用于獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);
[0129]該確定模塊304被配置為,用于根據(jù)設(shè)備的屏幕分辨率確定設(shè)備的設(shè)備類型;
[0130]該生成模塊306被配置為,用于按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,菜單包含菜單數(shù)據(jù)項(xiàng);
[0131]該顯示模塊308被配置為,用于將菜單反饋給應(yīng)用程序,由應(yīng)用程序顯示菜單。
[0132]綜上所述,本公開實(shí)施例中提供的菜單顯示裝置,通過獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),確定設(shè)備的設(shè)備類型,并按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單;解決了相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題;由于在系統(tǒng)中可以根據(jù)設(shè)備屏幕分辨率確定設(shè)備類型,并可以根據(jù)與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,從而使得為具有同種共性的一類設(shè)備中的應(yīng)用程序生成的菜單尺寸與這類設(shè)備的屏幕尺寸相協(xié)調(diào),同時(shí)還能使得為具有同種共性的一類設(shè)備中的應(yīng)用程序生成的菜單尺寸與應(yīng)用程序相適應(yīng),因此達(dá)到了可以保證所生成的菜單尺寸與設(shè)備的屏幕尺寸比例相協(xié)調(diào)的效果,并提高了用戶的使用體驗(yàn)。
[0133]圖4是根據(jù)另一示例性實(shí)施例示出的一種菜單顯示裝置的示意圖,如圖4所示,該菜單顯示裝置應(yīng)用于安裝有應(yīng)用程序和系統(tǒng)的設(shè)備中。該菜單顯示裝置可以包括但不限于:獲取模塊402、確定模塊403、生成模塊404和顯示模塊406。
[0134]該獲取模塊402被配置為,用于獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);[0135]該確定模塊403被配置為,用于根據(jù)設(shè)備的屏幕分辨率確定設(shè)備的設(shè)備類型。
[0136]該生成模塊404被配置為,用于按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,菜單包含菜單數(shù)據(jù)項(xiàng);
[0137]該顯示模塊406被配置為,用于將菜單反饋給應(yīng)用程序,由應(yīng)用程序顯示菜單。
[0138]在圖4所示實(shí)施例中的第一種可能的實(shí)現(xiàn)方式中,該確定模塊403可以包括第一確定單元403a和第二確定單元403b。
[0139]該第一確定單元403a被配置為,用于當(dāng)設(shè)備的屏幕分辨率為第一類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將設(shè)備確定為第一類型設(shè)備;
[0140]該第二確定單元403b被配置為,用于當(dāng)設(shè)備的屏幕分辨率為第二類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將設(shè)備確定為第二類型設(shè)備。
[0141]在圖4所示實(shí)施例中的第二種可能的實(shí)現(xiàn)方式中,該生成模塊404可以包括:查找單元404a、生成單元404b和計(jì)算單元404c。
[0142]該查找單元404a被配置為,用于當(dāng)設(shè)備為第一類型設(shè)備時(shí),則查找設(shè)備的系統(tǒng)中預(yù)存的與屏幕分辨率對應(yīng)的菜單尺寸;該生成單元404b被配置為,用于生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單;
[0143]該計(jì)算單元404c被配置為,用于當(dāng)設(shè)備為第二類型設(shè)備時(shí),則根據(jù)應(yīng)用程序的資源設(shè)置,計(jì)算與資源設(shè)置對應(yīng)的菜單尺寸;該生成單元404b還被配置為,用于生成包含有菜單數(shù)據(jù)項(xiàng)且具有菜單尺寸所指示的大小的菜單;
[0144]其中,資源設(shè)置包括對應(yīng)用程序的背景圖的尺寸和/或文字的大小進(jìn)行的設(shè)置。
[0145]在圖4所示實(shí)施例中的第三種可能的實(shí)現(xiàn)方式中,該生成單元404b可以包括:判斷子單元404bl、第一確定子單元404b2、第二確定子單元404b3、第三確定子單元404b4和調(diào)整子單元404b5。
[0146]該判斷子單元404bl被配置為,用于判斷菜單數(shù)據(jù)項(xiàng)的數(shù)量是否大于預(yù)定數(shù)量閾值;
[0147]該第一確定子單元404b2被配置為,用于當(dāng)判斷子單元404bl的判斷結(jié)果為菜單數(shù)據(jù)項(xiàng)的數(shù)量小于或等于預(yù)定數(shù)量閾值時(shí),則將各個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;
[0148]該第二確定子單元404b3被配置為,用于當(dāng)判斷子單元404bl的判斷結(jié)果為菜單數(shù)據(jù)項(xiàng)的數(shù)量大于預(yù)定數(shù)量閾值時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)選取預(yù)定個(gè)菜單數(shù)據(jù)項(xiàng),將選取出的菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;第三確定子單元404b4被配置為,用于生成一個(gè)作為菜單的一級(jí)元素的父節(jié)點(diǎn),將剩余的菜單數(shù)據(jù)項(xiàng)分別確定為父節(jié)點(diǎn)下作為所生成菜單的二級(jí)元素的子節(jié)點(diǎn);
[0149]該調(diào)整子單元404b5被配置為,用于調(diào)整所生成菜單的各個(gè)一級(jí)元素所占用的尺寸以及各個(gè)一級(jí)元素之間的距離,使得所生成的菜單滿足菜單尺寸所指示的大?。?br>
[0150]其中,預(yù)定個(gè)為預(yù)定數(shù)量閾值減I得到的值,所生成菜單的一級(jí)元素被應(yīng)用程序進(jìn)行初始顯示,所生成菜單的二級(jí)元素在對應(yīng)的父節(jié)點(diǎn)被觸發(fā)后被應(yīng)用程序進(jìn)行展開顯
/Jn ο
[0151]在圖4所示實(shí)施例中的第四種可能的實(shí)現(xiàn)方式中,該獲取模塊402可以包括:第一獲取單元402a和第一接收單元402b,或,第二接收單元402c和第二獲取單元402d。[0152]該第一獲取單元402a被配置為,用于在啟動(dòng)應(yīng)用程序運(yùn)行時(shí),獲取設(shè)備的屏幕分辨率;第一接收單元402b,用于接收應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);或,
[0153]該第二接收單元402c被配置為,用于接收應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);第二獲取單元402d,用于在第二接收單元接收到菜單數(shù)據(jù)項(xiàng)之后,獲取設(shè)備的屏幕分辨率。
[0154]在圖4所示實(shí)施例中的第五種可能的實(shí)現(xiàn)方式中,菜單數(shù)據(jù)項(xiàng)是在應(yīng)用程序被觸發(fā)顯示菜單時(shí),根據(jù)應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)生成的。
[0155]綜上所述,本公開實(shí)施例中提供的菜單顯示裝置,通過獲取設(shè)備的屏幕分辨率以及應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),確定設(shè)備的設(shè)備類型,并按照與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單;解決了相關(guān)技術(shù)中由于應(yīng)用程序的菜單尺寸是預(yù)先設(shè)定好的,因此容易導(dǎo)致所生成的菜單尺寸與設(shè)備的屏幕尺寸比例不協(xié)調(diào)的問題;由于在系統(tǒng)中可以根據(jù)設(shè)備屏幕分辨率確定設(shè)備類型,并可以根據(jù)與設(shè)備類型對應(yīng)的預(yù)定方式生成與設(shè)備的屏幕尺寸相適應(yīng)的菜單,從而使得為手機(jī)中的應(yīng)用程序生成的菜單尺寸與手機(jī)屏幕尺寸相協(xié)調(diào),同時(shí)還能使得為平板電腦中的應(yīng)用程序生成的菜單尺寸與應(yīng)用程序相適應(yīng),因此達(dá)到了可以保證所生成的菜單尺寸與設(shè)備的屏幕尺寸比例相協(xié)調(diào)的效果,并提高了用戶的使用體驗(yàn)。
[0156]關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
[0157]圖5是根據(jù)再一示例性實(shí)施例示出的一種用于菜單顯示的裝置500的框圖。例如,裝置500可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等。
[0158]參照圖5,裝置500可以包括以下一個(gè)或多個(gè)組件:處理組件502,存儲(chǔ)器504,電源組件506,多媒體組件508,音頻組件510,輸入/輸出(I/O)接口 512,傳感器組件514,以及通信組件516。
[0159]處理組件502通??刂蒲b置500的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件502可以包括一個(gè)或多個(gè)處理器518來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件502可以包括一個(gè)或多個(gè)模塊,便于處理組件502和其他組件之間的交互。例如,處理組件502可以包括多媒體模塊,以方便多媒體組件508和處理組件502之間的交互。
[0160]存儲(chǔ)器504被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置500的操作。這些數(shù)據(jù)的示例包括用于在裝置500上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器504可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。
[0161]電源組件506為裝置500的各種組件提供電力。電源組件506可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置500生成、管理和分配電力相關(guān)聯(lián)的組件。
[0162]多媒體組件508包括在裝置500和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測觸摸、滑動(dòng)和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件508包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置500處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
[0163]音頻組件510被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件510包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置500處于操作模式,如呼叫模式、記錄模式和語音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器504或經(jīng)由通信組件516發(fā)送。在一些實(shí)施例中,音頻組件510還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
[0164]I/O接口 512為處理組件502和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
[0165]傳感器組件514包括一個(gè)或多個(gè)傳感器,用于為裝置500提供各個(gè)方面的狀態(tài)評估。例如,傳感器組件514可以檢測到裝置500的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置500的顯示器和小鍵盤,傳感器組件514還可以檢測裝置500或裝置500一個(gè)組件的位置改變,用戶與裝置500接觸的存在或不存在,裝置500方位或加速/減速和裝置500的溫度變化。傳感器組件514可以包括接近傳感器,被配置用來在沒有任何的物理接觸時(shí)檢測附近物體的存在。傳感器組件514還可以包括光傳感器,如CMOS或CXD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件514還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
[0166]通信組件516被配置為便于裝置500和其他設(shè)備之間有線或無線方式的通信。裝置500可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件516經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,通信組件516還包括近場通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
[0167]在示例性實(shí)施例中,裝置500可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSro)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
[0168]在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器504,上述指令可由裝置500的處理器518執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是ROM、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
[0169]本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本公開未公開的本【技術(shù)領(lǐng)域】中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0170]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。
【權(quán)利要求】
1.一種菜單顯示方法,應(yīng)用于安裝有應(yīng)用程序的設(shè)備中,其特征在于,包括: 獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng); 根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型; 按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,所述菜單包含所述菜單數(shù)據(jù)項(xiàng); 將所述菜單反饋給所述應(yīng)用程序,由所述應(yīng)用程序顯示所述菜單。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型,包括: 當(dāng)所述設(shè)備的屏幕分辨率為第一類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第一類型設(shè)備; 當(dāng)所述設(shè)備的屏幕分辨率為第二類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第二類型設(shè)備。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,包括: 當(dāng)所述設(shè)備為第一類型設(shè)備時(shí),則查找所述設(shè)備的系統(tǒng)中預(yù)存的與所述屏幕分辨率對應(yīng)的菜單尺寸;生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單;當(dāng)所述設(shè)備為第二類型設(shè) 備時(shí),則根據(jù)所述應(yīng)用程序的資源設(shè)置,計(jì)算與所述資源設(shè)置對應(yīng)的菜單尺寸;生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單; 其中,所述資源設(shè)置包括對所述應(yīng)用程序的背景圖的尺寸和/或文字的大小進(jìn)行的設(shè)置。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單,包括: 判斷所述菜單數(shù)據(jù)項(xiàng)的數(shù)量是否大于預(yù)定數(shù)量閾值; 當(dāng)判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量小于或等于所述預(yù)定數(shù)量閾值時(shí),則將各個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素; 當(dāng)判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量大于所述預(yù)定數(shù)量閾值時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)選取預(yù)定個(gè)菜單數(shù)據(jù)項(xiàng),將選取出的所述菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;生成一個(gè)作為所述菜單的一級(jí)元素的父節(jié)點(diǎn),將所述剩余的菜單數(shù)據(jù)項(xiàng)分別確定為所述父節(jié)點(diǎn)下作為所生成菜單的二級(jí)元素的子節(jié)點(diǎn); 調(diào)整所生成菜單的各個(gè)一級(jí)元素所占用的尺寸以及各個(gè)一級(jí)元素之間的距離,使得所生成的菜單滿足所述菜單尺寸所指示的大??; 其中,所述預(yù)定個(gè)為所述預(yù)定數(shù)量閾值減I得到的值,所生成菜單的一級(jí)元素被所述應(yīng)用程序進(jìn)行初始顯示,所生成菜單的二級(jí)元素在對應(yīng)的父節(jié)點(diǎn)被觸發(fā)后被所述應(yīng)用程序進(jìn)行展開顯示。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng),包括: 在啟動(dòng)所述應(yīng)用程序運(yùn)行時(shí),獲取所述設(shè)備的屏幕分辨率;接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);或,接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);在接收到所述菜單數(shù)據(jù)項(xiàng)之后,獲取所述設(shè)備的屏幕分辨率。
6.根據(jù)權(quán)利要求1至5中任一所述的方法,其特征在于,所述菜單數(shù)據(jù)項(xiàng)是在所述應(yīng)用程序被觸發(fā)顯示菜單時(shí),根據(jù)所述應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)生成的。
7.一種菜單顯示裝置,應(yīng)用于安裝有應(yīng)用程序的設(shè)備中,其特征在于,包括: 獲取模塊,用于獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng); 確定模塊,用于根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型; 生成模塊,用于按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,所述菜單包含所述菜單數(shù)據(jù)項(xiàng); 顯示模塊,用于將所述菜單反饋給所述應(yīng)用程序,由所述應(yīng)用程序顯示所述菜單。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述確定模塊,包括: 第一確定單元,用于當(dāng)所述設(shè)備的屏幕分辨率為第一類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第一類型設(shè)備; 第二確定單元,用于當(dāng)所述設(shè)備的屏幕分辨率為第二類型設(shè)備所對應(yīng)的屏幕分辨率中的一種時(shí),則將所述設(shè)備確定為第二類型設(shè)備。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述生成模塊,包括: 查找單元,用于當(dāng)所述設(shè)備為第一類型設(shè)備時(shí),則查找所述設(shè)備的系統(tǒng)中預(yù)存的與所述屏幕分辨率對應(yīng)的菜單尺寸;生成單元,用于生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單; 計(jì)算單元,用于當(dāng)所述設(shè)備為第二類型設(shè)備時(shí),則根據(jù)所述應(yīng)用程序的資源設(shè)置,計(jì)算與所述資源設(shè)置對應(yīng)的菜單尺寸;所述生成單元,還用于生成包含有所述菜單數(shù)據(jù)項(xiàng)且具有所述菜單尺寸所指示的大小的菜單; 其中,所述資源設(shè)置包括對所述應(yīng)用程序的背景圖的尺寸和/或文字的大小進(jìn)行的設(shè)置。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述生成單元,包括: 判斷子單元,用于判斷所述菜單數(shù)據(jù)項(xiàng)的數(shù)量是否大于預(yù)定數(shù)量閾值; 第一確定子單元,用于當(dāng)所述判斷子單元的判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量小于或等于所述預(yù)定數(shù)量閾值時(shí),則將各個(gè)菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素; 第二確定子單元,用于當(dāng)所述判斷子單元的判斷結(jié)果為所述菜單數(shù)據(jù)項(xiàng)的數(shù)量大于所述預(yù)定數(shù)量閾值時(shí),則按照菜單數(shù)據(jù)項(xiàng)預(yù)設(shè)的優(yōu)先級(jí)選取預(yù)定個(gè)菜單數(shù)據(jù)項(xiàng),將選取出的所述菜單數(shù)據(jù)項(xiàng)分別確定為所生成菜單的一級(jí)元素;第三確定子單元,用于生成一個(gè)作為所述菜單的一級(jí)元素的父節(jié)點(diǎn),將所述剩余的菜單數(shù)據(jù)項(xiàng)分別確定為所述父節(jié)點(diǎn)下作為所生成菜單的二級(jí)元素的子節(jié)點(diǎn); 調(diào)整子單元,用于調(diào)整所生成菜單的各個(gè)一級(jí)元素所占用的尺寸以及各個(gè)一級(jí)元素之間的距離,使得所生成的菜單滿足所述菜單尺寸所指示的大??; 其中,所述預(yù)定個(gè)為所述預(yù)定數(shù)量閾值減I得到的值,所生成菜單的一級(jí)元素被所述應(yīng)用程序進(jìn)行初始顯示,所生成菜單的二級(jí)元素在對應(yīng)的父節(jié)點(diǎn)被觸發(fā)后被所述應(yīng)用程序進(jìn)行展開顯示。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,包括:第一獲取單元,用于在啟動(dòng)所述應(yīng)用程序運(yùn)行時(shí),獲取所述設(shè)備的屏幕分辨率;第一接收單元,用于接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);或, 第二接收單元,用于接收所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng);第二獲取單元,用于在所述第二接收單元接收到所述菜單數(shù)據(jù)項(xiàng)之后,獲取所述設(shè)備的屏幕分辨率。
12.根據(jù)權(quán)利要求7至11中任一所述的裝置,其特征在于,所述菜單數(shù)據(jù)項(xiàng)是在所述應(yīng)用程序被觸發(fā)顯示菜單時(shí),根據(jù)所述應(yīng)用程序的當(dāng)前運(yùn)行狀態(tài)生成的。
13.一種菜單顯示裝置,應(yīng)用于安裝有應(yīng)用程序的設(shè)備中,其特征在于,包括: 處理器; 用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器; 其中,所述處理器被配置為: 獲取所述設(shè)備的屏幕分辨率以及所述應(yīng)用程序生成的菜單數(shù)據(jù)項(xiàng); 根據(jù)所述設(shè)備的屏幕分辨率確定所述設(shè)備的設(shè)備類型; 按照與所述設(shè)備類型對應(yīng)的預(yù)定方式生成與所述設(shè)備的屏幕尺寸相適應(yīng)的菜單,所述菜單包含所述菜單數(shù)據(jù)項(xiàng); 將所述菜單反饋給所 述應(yīng)用程序,由所述應(yīng)用程序顯示所述菜單。
【文檔編號(hào)】G06F9/44GK104020933SQ201410219238
【公開日】2014年9月3日 申請日期:2014年5月22日 優(yōu)先權(quán)日:2014年5月22日
【發(fā)明者】董俊杰, 鄭興平 申請人:小米科技有限責(zé)任公司