欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種UI控件自適配的方法及其系統(tǒng)與流程

文檔序號(hào):40637795發(fā)布日期:2025-01-10 18:43閱讀:4來源:國知局
一種UI控件自適配的方法及其系統(tǒng)與流程

本發(fā)明涉及游戲的ui界面制作,特別是一種ui控件自適配的方法及其系統(tǒng)。


背景技術(shù):

1、ui控件(user?interface?control)是指用戶界面領(lǐng)域中的可視化控件,它是gui程序設(shè)計(jì)中最核心也是最基礎(chǔ)的元素。ui控件主要用來改善并加強(qiáng)應(yīng)用程序的用戶體驗(yàn),使你的應(yīng)用程序更易于使用,提供更多的交互性,使你的應(yīng)用程序在看上去更加像現(xiàn)實(shí)世界的應(yīng)用程序。

2、ui控件主要用于觸摸屏、鍵盤和鼠標(biāo)輸入的配置和顯示gui中的元素。它們可以構(gòu)建并布置android界面,提供用戶界面的可視化元素,使用戶能夠更容易理解和操作應(yīng)用程序。ui控件包括文本框,按鈕,網(wǎng)格視圖,滑動(dòng)條,列表視圖,圖表,菜單,對(duì)話框等。

3、在游戲開發(fā)中,經(jīng)常需要對(duì)每一個(gè)ui預(yù)制體的每一個(gè)ui控件設(shè)置自適配方式,這樣游戲在不同的分辨率的設(shè)備上運(yùn)行可以保持正確的ui界面排版,通常針對(duì)每一個(gè)ui控件都需要人力設(shè)置自適配方式影響游戲開發(fā)效率。


技術(shù)實(shí)現(xiàn)思路

1、為克服上述問題,本發(fā)明的目的是提供一種ui控件自適配的方法,本發(fā)明基于ui控件類型、大小、位置關(guān)系、父子關(guān)系自動(dòng)設(shè)置ui控件的自適應(yīng)方式,節(jié)省工時(shí)加快了項(xiàng)目進(jìn)度。

2、本發(fā)明采用以下方案實(shí)現(xiàn):一種ui控件自適配的方法,所述方法包括如下步驟:

3、步驟s1、獲取ui控件的世界坐標(biāo)中心點(diǎn)相對(duì)ui界面的中心點(diǎn)位置關(guān)系;

4、步驟s2、獲取ui控件相對(duì)ui界面的大??;

5、步驟s3、對(duì)于有父ui控件的子ui控件,讀取父控件的自適應(yīng)方式作為子ui控件設(shè)置自適應(yīng)的依據(jù);

6、步驟s4、對(duì)于超出屏幕大小的ui控件,根據(jù)橫向或者豎向是否超出設(shè)置自適應(yīng)方式調(diào)整;

7、步驟s5、根據(jù)ui控件相對(duì)ui界面的中心點(diǎn)位置、大小設(shè)置ui控件的自適應(yīng)方式調(diào)整。

8、進(jìn)一步的,所述自適應(yīng)方式調(diào)整采用aspect?ratio?filter腳本實(shí)現(xiàn),該aspectratio?filter腳本控制ui控件自身布局元素的大小,能調(diào)整高度以適合寬度,會(huì)根據(jù)比例縮放ui控件大小以適應(yīng)ui界面的布局。

9、進(jìn)一步的,所述步驟s1進(jìn)一步具體為:獲取ui控件的世界坐標(biāo)中心并對(duì)比ui界面中心的位置關(guān)系,即ui控件的世界坐標(biāo)x軸減去ui界面中心的世界坐標(biāo)x軸為xoffest,ui控件的世界坐標(biāo)y軸減去ui界面中心的世界坐標(biāo)y軸為yoffset,如果xoffset和yoffset都為0,則中心對(duì)齊,xoffset和yoffset都大于0那么ui控件在ui界面的右上角,xoffset和yoffset都小于0那么ui控件在ui界面的左下角,xoffset大于0且yoffset小于0那么ui控件在ui界面的右下角,xoffset小于0且yoffset大于0那么ui控件在ui界面的左上角,xoffset或者yoffset其中一個(gè)等于0另外一個(gè)不為0,就是位于ui界面上下左右方向。

10、進(jìn)一步的,所述步驟s2進(jìn)一步具體為:獲取ui控件相對(duì)ui界面的橫向和縱向的大小,如果ui控件橫向大小和ui界面的橫向大小相同,那么該ui控件的橫向設(shè)置為橫向匹配ui界面的自適應(yīng)方式調(diào)整,如果ui控件縱向大小和ui界面的縱向大小相同,那么該ui控件的縱向設(shè)置為匹配ui界面的自適應(yīng)方式調(diào)整。

11、進(jìn)一步的,所述步驟s3進(jìn)一步具體為:獲取子ui控件的世界坐標(biāo)中心并對(duì)比父ui控件中心的位置關(guān)系,即子ui控件的世界坐標(biāo)x軸減去父ui控件中心的世界坐標(biāo)x軸為xoffest,子ui控件的世界坐標(biāo)y軸減去父ui控件中心的世界坐標(biāo)y軸為yoffset,如果xoffset和yoffset都為0,則中心對(duì)齊,xoffset和yoffset都大于0那么子ui控件在父ui控件的右上角,xoffset和yoffset都小于0那么子ui控件在父ui控件的左下角,xoffset大于0且yoffset小于0那么子ui控件在父ui控件的右下角,xoffset小于0且yoffset大于0那么子ui控件在父ui控件的左上角,xoffset或者yoffset其中一個(gè)等于0另外一個(gè)不為0,就是位于父ui控件上下左右方向;獲取子ui控件相對(duì)父ui控件的橫向和縱向的大小,如果子ui控件橫向大小和父ui控件的橫向大小相同,那么該子ui控件的橫向設(shè)置為橫向匹配父ui控件的自適應(yīng)方式調(diào)整,如果子ui控件縱向大小和父ui控件的縱向大小相同,那么該子ui控件的縱向設(shè)置為匹配父ui控件的自適應(yīng)方式調(diào)整。

12、進(jìn)一步的,所述步驟s4進(jìn)一步具體為:對(duì)于超出屏幕大小的ui控件,如果是橫向超出設(shè)置為:固定縱向大小為屏幕縱向大小的數(shù)值并拉伸橫向的類型,該類型為橫向拖動(dòng);如果是縱向超出設(shè)置為:固定橫向大小為屏幕橫向大小的數(shù)值并拉伸縱向的類型,該類型為縱向拖動(dòng);如果ui控件橫向和縱向都超出屏幕大小,那么該ui控件設(shè)置固定ui原有大小類型,該類型為橫向和縱向拖動(dòng)。

13、進(jìn)一步的,所述步驟s5進(jìn)一步具體為:判斷步驟1中ui控件相對(duì)ui界面的位置和步驟2中ui控件相對(duì)于ui界面的大小關(guān)系,如果存在步驟2設(shè)置橫向或者縱向適配ui界面大小的情況先設(shè)置橫向或者縱向適配ui界面,另外一個(gè)方向根據(jù)步驟1的位置關(guān)系設(shè)為上下左右對(duì)齊;如果不存在步驟2的情況根據(jù)步驟1中ui控件中心相對(duì)ui界面中心的位置關(guān)系,設(shè)置左上、左下、左、上、下、右、右上、右下對(duì)齊方式。

14、本發(fā)明還提供了一種ui控件自適配的系統(tǒng),所述系統(tǒng)包括:位置關(guān)系獲取模塊、大小獲取模塊、子ui控件處理模塊、超屏處理模塊、ui控件處理模塊;

15、所述位置關(guān)系獲取模塊,獲取ui控件的世界坐標(biāo)中心點(diǎn)相對(duì)ui界面的中心點(diǎn)位置關(guān)系;

16、所述大小獲取模塊,獲取ui控件相對(duì)ui界面的大??;

17、所述子ui控件處理模塊,對(duì)于有父ui控件的子ui控件,讀取父控件的自適應(yīng)方式作為子ui控件設(shè)置自適應(yīng)的依據(jù);

18、所述超屏處理模塊,對(duì)于超出屏幕大小的ui控件,根據(jù)橫向或者豎向是否超出設(shè)置自適應(yīng)方式調(diào)整;

19、所述ui控件處理模塊,根據(jù)ui控件相對(duì)ui界面的中心點(diǎn)位置、大小設(shè)置ui控件的自適應(yīng)方式調(diào)整。

20、進(jìn)一步的,所述自適應(yīng)方式調(diào)整采用aspect?ratio?filter腳本實(shí)現(xiàn),該aspectratio?filter腳本控制ui控件自身布局元素的大小,能調(diào)整高度以適合寬度,會(huì)根據(jù)比例縮放ui控件大小以適應(yīng)ui界面的布局。

21、進(jìn)一步的,所述位置關(guān)系獲取模塊進(jìn)一步具體為:獲取ui控件的世界坐標(biāo)中心并對(duì)比ui界面中心的位置關(guān)系,即ui控件的世界坐標(biāo)x軸減去ui界面中心的世界坐標(biāo)x軸為xoffest,ui控件的世界坐標(biāo)y軸減去ui界面中心的世界坐標(biāo)y軸為yoffset,如果xoffset和yoffset都為0,則中心對(duì)齊,xoffset和yoffset都大于0那么ui控件在ui界面的右上角,xoffset和yoffset都小于0那么ui控件在ui界面的左下角,xoffset大于0且yoffset小于0那么ui控件在ui界面的右下角,xoffset小于0且yoffset大于0那么ui控件在ui界面的左上角,xoffset或者yoffset其中一個(gè)等于0另外一個(gè)不為0,就是位于ui界面上下左右方向。

22、進(jìn)一步的,所述大小獲取模塊進(jìn)一步具體為:獲取ui控件相對(duì)ui界面的橫向和縱向的大小,如果ui控件橫向大小和ui界面的橫向大小相同,那么該ui控件的橫向設(shè)置為橫向匹配ui界面的自適應(yīng)方式調(diào)整,如果ui控件縱向大小和ui界面的縱向大小相同,那么該ui控件的縱向設(shè)置為匹配ui界面的自適應(yīng)方式調(diào)整。

23、進(jìn)一步的,所述子ui控件處理模塊進(jìn)一步具體為:獲取子ui控件的世界坐標(biāo)中心并對(duì)比父ui控件中心的位置關(guān)系,即子ui控件的世界坐標(biāo)x軸減去父ui控件中心的世界坐標(biāo)x軸為xoffest,子ui控件的世界坐標(biāo)y軸減去父ui控件中心的世界坐標(biāo)y軸為yoffset,如果xoffset和yoffset都為0,則中心對(duì)齊,xoffset和yoffset都大于0那么子ui控件在父ui控件的右上角,xoffset和yoffset都小于0那么子ui控件在父ui控件的左下角,xoffset大于0且yoffset小于0那么子ui控件在父ui控件的右下角,xoffset小于0且yoffset大于0那么子ui控件在父ui控件的左上角,xoffset或者yoffset其中一個(gè)等于0另外一個(gè)不為0,就是位于父ui控件上下左右方向;獲取子ui控件相對(duì)父ui控件的橫向和縱向的大小,如果子ui控件橫向大小和父ui控件的橫向大小相同,那么該子ui控件的橫向設(shè)置為橫向匹配父ui控件的自適應(yīng)方式調(diào)整,如果子ui控件縱向大小和父ui控件的縱向大小相同,那么該子ui控件的縱向設(shè)置為匹配父ui控件的自適應(yīng)方式調(diào)整。

24、進(jìn)一步的,所述超屏處理模塊進(jìn)一步具體為:對(duì)于超出屏幕大小的ui控件,如果是橫向超出設(shè)置為:固定縱向大小為屏幕縱向大小的數(shù)值并拉伸橫向的類型,該類型為橫向拖動(dòng);如果是縱向超出設(shè)置為:固定橫向大小為屏幕橫向大小的數(shù)值并拉伸縱向的類型,該類型為縱向拖動(dòng);如果ui控件橫向和縱向都超出屏幕大小,那么該ui控件設(shè)置固定ui原有大小類型,該類型為橫向和縱向拖動(dòng)。

25、進(jìn)一步的,所述ui控件處理模塊進(jìn)一步具體為:判斷位置關(guān)系獲取模塊中ui控件相對(duì)ui界面的位置和大小獲取模塊中ui控件相對(duì)于ui界面的大小關(guān)系,如果存在大小獲取模塊設(shè)置橫向或者縱向適配ui界面大小的情況先設(shè)置橫向或者縱向適配ui界面,另外一個(gè)方向根據(jù)位置關(guān)系獲取模塊的位置關(guān)系設(shè)為上下左右對(duì)齊;如果不存在大小獲取模塊的情況根據(jù)位置關(guān)系獲取模塊中ui控件中心相對(duì)ui界面中心的位置關(guān)系,設(shè)置左上、左下、左、上、下、右、右上、右下對(duì)齊方式。

26、本發(fā)明的有益效果在于:現(xiàn)有的游戲開發(fā)中ui開發(fā)的工作量比較大,涉及的ui控件量非常多,如果人力每個(gè)ui控件設(shè)置其自適應(yīng)方式需要耗費(fèi)大量的人工工時(shí),本發(fā)明基于ui控件類型、大小、位置關(guān)系、父子關(guān)系自動(dòng)設(shè)置ui控件的自適應(yīng)方式,節(jié)省工時(shí)加快了項(xiàng)目進(jìn)度,并且自動(dòng)設(shè)置是基于機(jī)器計(jì)算來設(shè)置自適應(yīng)方式,減少了出錯(cuò)的概率。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
京山县| 永州市| 蛟河市| 阿图什市| 九台市| 濮阳市| 赤壁市| 亚东县| 滦平县| 南投市| 皮山县| 丁青县| 连平县| 阜宁县| 平凉市| 犍为县| 喀喇沁旗| 彰化县| 浦江县| 会宁县| 白水县| 黎平县| 银川市| 昔阳县| 淮南市| 博客| 紫云| 准格尔旗| 台中市| 丹凤县| 方城县| 东阳市| 康马县| 建阳市| 离岛区| 积石山| 尖扎县| 新田县| 阜宁县| 美姑县| 东平县|