亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用戶界面實現方法及裝置與制造工藝

文檔序號:11057074閱讀:563來源:國知局
用戶界面實現方法及裝置與制造工藝
本發(fā)明涉及智能終端交互技術領域,具體涉及一種用戶界面實現方法及裝置。

背景技術:
隨著智能終端設備的不斷普及,用戶對智能終端設備的軟件需求越來越多,但目前提供給用戶的各種軟件良莠不齊,界面各異,智能終端用戶在眾多的應用軟件中,最終會選擇用戶界面(UserInterface,簡稱:UI)視覺效果良好,且具有良好的體驗的應用留在自己的智能終端上長期使用。面對用戶的多樣化需求,如何設計出能夠滿足用戶需求的UI成為一個巨大的挑戰(zhàn)。UI設計是智能終端軟件的人機交互、操作邏輯、美觀界面的整體設計。UI是智能終端操作系統(tǒng)中人機交互的窗口,它必須基于智能終端的物理特性和軟件的應用特性進行合理的設計。目前,已有的UI設計基于的是可擴展標記語言(eXtensibleMarkupLanguage,簡稱:XML)的界面解析渲染技術,該技術主要利用XML作為數據結構的載體,記錄UI元素的位置、布局等屬性,以便在運行時解析以生成所需要的對象。以小米手機的鎖屏引擎為例,在其XML文件中以每個UI元素為單位定義UI元素的各種屬性和邏輯,例如對于解鎖UI元素(該元素為一個圖片),定義了這個圖片的位置、旋轉、透明度、縮放比例等屬性,這個圖片所適用的各種動畫效果,以及這個圖片的操作屬性,如“unlocker”屬性,表示該解鎖UI元素可以直線拖拽,拖拽動作會引發(fā)解鎖行為。在這類UI設計中,UI模式比較單一,都是以一個UI元素為單位,描述該UI元素的屬性和邏輯,采用這樣的方式對邏輯的描述不足,難以支持類似于游戲這樣的復雜邏輯;而且這種設計的擴展性不足,它僅支持直線拖拽的解鎖行為,如更改解鎖模式需要開發(fā)單獨的邏輯,有可能已經超出了其最初的設計框架。

技術實現要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的用戶界面實現方法和相應的用戶界面實現裝置。根據本發(fā)明的一個方面,提供了一種用戶界面實現方法,包括:為用戶界面上的界面元素建立物體-行為-結果模型,其中,所述物體-行為-結果模型包括物體、行為和結果的描述信息,所述物體是指所述用戶界面上的界面元素;所述行為是指對所述物體進行的動作;所述結果是指對所述物體執(zhí)行所述行為之后,所述用戶界面呈現的狀態(tài);解析所述物體-行為-結果模型以得到物體、行為和結果之間的對應關系;根據所述物體的描述信息以及物體、行為和結果之間的對應關系,將與所述物體對應的界面元素顯示在用戶界面上,并實現與用戶的界面交互。根據本發(fā)明的另一方面,提供了一種用戶界面實現裝置,包括:模型構建器,適于為用戶界面上的界面元素建立物體-行為-結果模型,其中,所述物體-行為-結果模型包括物體、行為和結果的描述信息,所述物體是指所述用戶界面上的界面元素;所述行為是指對所述物體進行的動作;所述結果是指對所述物體執(zhí)行所述行為之后,所述用戶界面呈現的狀態(tài);解析器,適于解析所述物體-行為-結果模型以得到物體、行為和結果之間的對應關系;執(zhí)行器,適于根據所述物體的描述信息以及物體、行為和結果之間的對應關系,將與所述物體對應的界面元素顯示在用戶界面上,并實現與用戶的界面交互。在本發(fā)明提供的方案中,不再以UI元素為單位預先定義其屬性和邏輯,而是將多個UI元素的屬性和邏輯等信息分為物體、行為和結果的描述信息分別來定義,然后通過解析物體-行為-結果模型得到物體、行為和結果之間的對應關系,根據該對應關系在用戶界面上實現多個UI元素?;谠撐矬w-行為-結果模型使得開發(fā)應用主題變得簡單,也使得復雜的邏輯描述變得簡單。物體-行為-結果模型的開放性和擴展性可以支持更多復雜、有趣的界面設計,無論是物體、行為和結果都可以獨立地進行演進,因此當開發(fā)者需要實現當前應用能力以外的功能時,可以獨立于主框架繼續(xù)開發(fā)新增加的功能,從而很方便的實現擴展。上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。附圖說明通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了根據本發(fā)明一個實施例的用戶界面實現方法的流程圖;圖2示出了根據本發(fā)明一個實施例的建立IBA模型的過程示意圖;圖3示出了根據本發(fā)明一個實施例的用戶界面實現裝置的結構框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。通常來說,智能終端設備的每一個應用的用戶界面都包含很多個UI元素,如果按照現有技術以每個UI元素為單位定義其屬性和邏輯,勢必會使上述問題更加復雜化。因此,本發(fā)明提供了一種用戶界面實現方法及裝置,在該方法及裝置中,為多個UI元素建立物體(Item)-行為(Behavior)-結果(Action)模型,以下簡稱IBA模型。在本發(fā)明中,不再以UI元素為單位預先定義其屬性和邏輯,而是將多個UI元素的屬性和邏輯等信息分為物體、行為和結果的描述信息分別來定義,然后通過解析IBA模型得到物體、行為和結果之間的對應關系,根據該對應關系在用戶界面上實現多個UI元素。在本發(fā)明以下實施例中,將以鎖屏應用為例介紹本發(fā)明的技術方案。本發(fā)明實施例所采用的鎖屏應用是基于安卓(Android)系統(tǒng)的平臺性質鎖屏產品。通過該鎖屏應用用戶可以根據個人偏好隨意下載服務器端提供的各式各樣的鎖屏主題樣式,在智能終端自由進行鎖屏主題切換。該鎖屏應用將鎖屏能力、終端系統(tǒng)的各種快捷功能以及服務器端業(yè)務能力以統(tǒng)一UI交互、接口或配置文件等方式對外提供,抽象成為統(tǒng)一的鎖屏開發(fā)規(guī)范提供給第三方開發(fā)者。該鎖屏應用將形成一個鎖屏產品的平臺,讓第三方開發(fā)者發(fā)布的主題通過服務器端鎖屏中心的渠道提供給用戶。圖1示出了根據本發(fā)明一個實施例的用戶界面實現方法100的流程圖。如圖1所示,方法100始于步驟S101,其中為用戶界面上的UI元素建立IBA模型。IBA模型包括物體、行為和結果的描述信息。其中,物體是指用戶界面上的界面元素,具體地,物體可以包括:用于在用戶界面上展現靜態(tài)圖或動態(tài)圖的圖片控件、用于在用戶界面上展現文本內容的文字控件、用于描述矩形的區(qū)域控件、用于包含多個控件的組控件或預定義物體控件。行為是指對物體進行的動作,行為可以是用戶的操作行為,如用戶在界面上進行的某種可觸發(fā)事件的動作,例如點擊或拖拽某個物體;行為也可以是系統(tǒng)的自身行為,如可觸發(fā)事件的觸發(fā)條件。結果是指對物體執(zhí)行行為之后,用戶界面呈現的狀態(tài),結果表示行為將會觸發(fā)的事件,可能是產生某個系統(tǒng)行為(如解鎖、打電話等),也可能是系統(tǒng)自身參數的調整。以鎖屏應用為例,本發(fā)明將用戶界面抽象為物體、行為和結果,以近自然的語言描述UI,這里采用的是XML語言。圖2示出了根據本發(fā)明一個實施例的建立IBA模型的過程200示意圖,如圖2所示,該過程200始于步驟S201,首先,在預設目錄下新建XML文件,定義鎖屏主題。例如,在XML文件中定義:<lockname="onepiece"></lock>其中,lockname字段填寫的是主題名稱。后續(xù)所有定義的內容都會填寫在<lock>標簽內。在步驟S201之后,過程200進入步驟S202,其中在主題標簽內部定義圖層標簽。例如,在<lock>標簽內部定義:<layername="mainlayer"></layer>其中,layername字段填寫的是圖層名稱。后續(xù)所有位于同一圖層的物體都要在同一圖層標簽內部定義。不同圖層標簽的layername字段是唯一的,不能重復使用。在步驟S202之后,過程200進入步驟S203,其中在圖層標簽內部添加物體,即定義物體的描述信息。物體的描述信息包括物體名稱和物體屬性,物體名稱用于唯一標識該物體,物體屬性用于描述根據物體的描述信息所顯示的界面元素的特征信息??蛇x地,物體屬性可以包括以下屬性中的一項或多項:位置屬性、大小屬性、旋轉屬性、縮放屬性、可見度屬性以及顏色屬性等等??蛇x地,物體屬性還可以包括動畫屬性,動畫屬性用于描述根據物體的描述信息所顯示的界面元素的動畫效果。根據物體類型的不同,其對應的物體屬性也會有所不同。以最簡單的滑動解鎖為例,該主題一般包括一個圖片控件,圖片控件用于在鎖屏界面上展示靜態(tài)或動態(tài)的圖片,圖片來源可以被設置為預先配置好的主題包中的圖片,也可以由用戶自定義選擇。舉例來說,在圖層標簽內部添加子節(jié)點圖片控件如下:<imagename="ship"res="ship.png"basey="#screen_h-80"basex="#screen_w/8"restraint="keepy"/>上述圖片控件的描述信息包括物體名稱name=“ship”和物體屬性,物體屬性包括:圖片來源屬性res="ship.png"和位置屬性basey="#screen_h-80"basex="#screen_w/8"。其中,“ship”是圖片控件的唯一標識符,該圖片控件使用的圖片是"ship.png",圖片的起始中心坐標為"#screen_w/8","#screen_h-80",其中#screen_w表示屏幕寬度,#screen_h表示屏幕高度。為了讓上述圖片只能橫向運動,即實現橫向滑動解鎖,還需在圖層標簽外部添加約束器,即定義約束器的描述信息。例如,添加約束器如下:<restraintname="keepy"><restraint_elementtype="shortcut"shortcut="keepy"/></restraint>上述約束器的描述信息包括約束器名稱name="keepy"和移動范圍信息type="shortcut"shortcut="keepy"。其中,"keepy"是該約束器的唯一標識符,type="shortcut"表示約束器的類型為shortcut,當約束器的類型為shortcut時,keepx表示移動時x軸的坐標不變,keepy表示移動時y軸的坐標保持不變。因此上述約束器的移動范圍信息具體為保持y軸的坐標不變。對應的,圖片控件的描述信息還包括約束器信息restraint="keepy","keepy"與上述添加的約束器的名稱是相對應的,表示圖片控件受到上述約束器的限制,移動時需保持y軸的坐標不變,即在水平方向上移動。另外,為了定義解鎖的目標區(qū)域,還需在圖層標簽內部添加子節(jié)點區(qū)域控件如下:<regionname="target"basey="#screen_h-80"basex="#screen_w*7/8"h="100"w="100"/>上述區(qū)域控件的描述信息包括物體名稱name="target"以及位置屬性basey="#screen_h-80"basex="#screen_w*7/8"、大小屬性h="100"w="100"。其中,"target"是區(qū)域控件的唯一標識符,區(qū)域的起始中心坐標為"#screen_w*7/8","#screen_h-80",區(qū)域的高為100,寬為100。由于絕大部分用戶點亮手機查看鎖屏界面的主要目的是查看時間,那么顯示一個漂亮的時鐘和當前的日期能夠大大方便用戶的使用。為了顯示時鐘,可以利用預定義物體控件來實現。預定義物體控件集成了一些特殊功能的組件,實際上是一個組,但不需要分別定義子節(jié)點。以時鐘組件為例,在預先配置好的主題包內提供有clock_0.png~clock9.png以及冒號clock_dot.png共11張圖片,預定義的時鐘組件class="clock"由這些圖片組成,在圖層標簽內部添加預定義物體控件如下:<superitemname="clock"basey="#screen_h*0.1"basex="#screen_w*0.5"class="clock"/>上述預定義物體控件的描述信息包括物體名稱name="clock"和位置屬性basey="#screen_h*0.1"basex="#screen_w*0.5"、類型屬性class="clock"。其中,"clock"是該預定義控件的唯一標識符,該預定義控件由主題包內的11張圖片組成,其起始中心坐標為"#screen_w*0.5","#screen_h*0.1"。依據這些屬性,上述11張圖片將會以起始中心坐標為中心自動并排排版,中間無間隔、無重疊,形成時鐘。為了顯示日期,可以利用文字控件來實現。例如,在圖層標簽內部添加文字控件如下:<textname="date"align="center"color="#AAEEEEEE"basey="#screen_h*0.1+60"basex="#screen_w*0.5"paras="@date_yyyy/MM/ddEE"content="%s"size="16"/>上述文字控件的描述信息包括文字名稱name="date"和物體屬性,該物體屬性包括:對齊屬性align="center"、顏色屬性color="#AAEEEEEE"、位置屬性basey="#screen_h*0.1+60"basex="#screen_w*0.5"、參數屬性paras="@date_yyyy/MM/ddEE"、內容屬性content="%s"、文字大小屬性size="16"。其中,"date"是該文字控件的唯一標識符,該文字控件中文本的對齊方式為以中心對齊,文字的顏色值為"#AAEEEEEE",文字大小為16,文字控件起始中心坐標為"#screen_w*0.5","#screen_h*0.1+60"。內容屬性content表示需要顯示的文字內容,支持類似于C語言的格式化字符串,用%表示需要替換的參數。在該例子中,內容屬性是可配置的字符串參數"%s",它的實際參數定義在paras內,以@date開頭,這表示content內的"%s"將被替換為一串日期信息,具體格式為yyyy/MM/ddEE,例如2012/07/06周二。為了能夠使鎖屏界面更富有生氣,還可以添加一些具有動畫效果的圖片控件。例如,為上述圖片控件"ship"添加背景海浪(由另一圖片控件"wave1"來實現)和前景海浪(由另一圖片控件"wave2"來實現),讓圖片控件"ship"顯示在兩層海浪之間。而海浪不應該是固定的,它們可以上下波動。海浪依然需要定義在圖層標簽內部,由于先定義的控件將被置于底層,而后定義的控件將被置于頂層,因此將wave1的描述信息放在"ship"的描述信息之前,將wave2的描述信息放在"ship"的描述信息之后。在圖層標簽內部添加兩個圖片控件"wave1"和"wave2":<imagename="wave1"res="wave1.png"basey="#screen_h-50+6*$sin(6.28*(#time%3000/3000))"basex="#screen_w/2"/>……<imagename="wave2"res="wave2.png"basey="#screen_h-30+6*$sin(-6.28*(#time%3000/3000))"basex="#screen_w/2"/>上述兩個圖片控件的動畫效果是通過位置屬性來實現的,這兩個圖片控件的basey都是根據表達式得到的,其中"#time"的值表示從鎖屏啟動到當前幀所花費的毫秒數;那么"#time%3000/3000"則表示一個以三秒為周期,從0到1的周期變化。結合三角函數,可以很方便地制造出波動效果。可選地,也可以通過物體屬性所包含的動畫屬性來描述所顯示UI元素的動畫效果。該動畫屬性可以為alpha漸變動畫(alpha_animation),位移動畫(position_animation),縮放動畫(scale_animation),旋轉動畫(rotate_animation),圖片幀動畫(frame_animation),斜切動畫(skew_animation)。這些動畫屬性也可以作為控件的子元素來定義。每種動畫的播放方式都可以分為單次播放和循環(huán)播放,由其狀態(tài)值來控制,狀態(tài)值為0表示停止播放,狀態(tài)值為1表示單次播放,狀態(tài)值為...
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1