Android之重新整理布局

2021-08-26 02:46:37 字數 728 閱讀 8708

學習安卓的高階技巧,其中的自定義view是必備課程。目前在研究該方面的東西,能用**畫出東西真令人興奮!

以下是常見繪製後重新整理布局的方法及其區別特點。

請求重繪view樹,即draw()過程。整個重新整理ui,並且從頭到尾並不會觸發onmeasure()方法(控制大小用)。如果是view就重繪view,如果是viewgroup就全部重繪。

一般引起invalidate()操作的函式如下:

直接呼叫invalidate()方法,請求重新draw(),但只會繪製呼叫者本身。

setselection()方法 :請求重新draw(),但只會繪製呼叫者本身。

setvisibility()方法 : 當view可視狀態在invisible轉換visible時,會間接呼叫invalidate()方法,繼而繪製該view。

setenabled()方法 : 請求重新draw(),但不會重新繪製任何檢視包括該呼叫者本身。

與invalidate()方法區別就是,postinvalidate()方法可以在ui執行緒執行,也可以在工作執行緒執行,而invalidate()只能在ui執行緒操作。但是從重繪速率講:invalidate()效率高。

它跟invalidate()相反,它只呼叫measure()和layout()過程,不會呼叫draw()。不會重新繪製任何檢視包括該呼叫者本身。

使用 requestfocus()方法,它只重新整理你要重新整理的地方。 它是讓我們的某一部分獲取焦點,獲取焦點會導致view的重繪。

Android 之Toast 快速重新整理

前言 一般系統自帶toast給使用者體驗是不好的,當使用者點的過快時,根本不知道提示出來的toast是新的還是舊的,為了解決這個問題,我們應該全域性保持乙個單例的toast,這樣就可以進行快速重新整理。public class extends override public void oncreat...

Android回顧之布局

前面回顧了四大元件,今天我們來回顧一下android的布局方式 linearlayout可以說是最常用到的布局方式了。linearlayout是按照水平或是垂直的方式排列元素,垂直布局 android orientation vertical 和水平布局 android orientation ho...

android筆記之布局

三個屬性都用來適應檢視的水平或垂直大小,乙個以檢視的內容或尺寸為基礎的布局比精確地指定檢視範圍更加方便。1 fill parent 設定乙個構件的布局為fill parent將強制性地使構件擴充套件,以填充布局單元內盡可能多的空間。這跟windows控制項的dockstyle屬性大體一致。設定乙個頂...