兩種實現view在Z軸置頂的方法

2021-09-26 14:40:07 字數 581 閱讀 2789

最近專案需要在觸控到某乙個控制項時讓改控制項位於z軸的最上方,實現這個效果有兩種方法。

1,通過view.bringtofront()方法,直接可以使得當前作用view位於最z軸頂端,但是會重新整理當前整個介面的view,由於本人專案中的view是可以拖動的,如果使用該方法已經拖放成功的view會回到最初的位置,故拋棄了該方法。

2,在android5.0後引入了setz(100.0f)方法,該方法旨在改變view在當前介面下的z軸座標,當你需要將view設為z軸最頂端控制項時只需要實現view.setz(100.0f)方法。

3,二者使用起來各有千秋,第一種view.bringtofront()方法看原始碼可以知道,系統先將view移除出當前viewgroup,然後再新增進來,重新繪製當前介面,而setz()方法就是單純的將當前view的座標移動到你設定的座標處。

4,在使用setz()方式實現拖動時當前view位於z軸最頂端,可以監聽當前view的觸控方法,在motionevent.action_down條件下設定setz(100.0f),在motionevent.action_up條件下實現setz(90.0f)將view從z軸最頂端移下來,從而讓下一次觸控的view獨自在最頂端。

兩種獲取view的bitmap的方法

在開發中有時候需要獲取到乙個view當前的影象資訊,這個view可能是乙個單一的view,也可能是多個view組成的viewgroup,所以不能通過簡單的getbackground的方法獲取到這個影象資訊。下面提供兩個比較方便方法可以獲取這個資訊 通過canvas複製view的bitmap priv...

兩種獲取Oracle Sequence的方法

前提 create table booking id integer not null,date made date,reserved until timestamp,price decimal 15,2 not null,purchase id integer,primary key id cre...

兩種禁止USB autosuspend的方法

在有些情況下,由於低功耗情況下,usb硬體的bug或者提高usb resume的速度,我們需要禁止usb的 autosuspend,下面是兩種方法。1 在bootloader的bootargs裡加上 usbcore.autosuspend 1 2 檔案系統起來後,執行如下命令,disable掉run...