最近一直在研究opengl,在android應用中可以很好的進行細粒度的對展示的效果進行控制,今天這個腐蝕面具的效果就是基於opengl es來做的。話不多說,先看效果圖
使用很簡單,在布局檔案中直接使用corronisonview
"@+id/corronisonview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
複製**
其中duration代表了銷毀時間。 然後在mainactivity裡設定bitmap
corronisonview.setbitmap(bitmapfactory.decoderesource(resources,r.drawable.icon))
複製**
關於opengl es在android中的使用這裡就不細說了,整個過程其實就是利用了乙個紋理來顯示,然後隨著時間的推移捨棄一些片段不進行渲染。這裡主要來看一下片段著色器的**
#version 300 es
precision mediump float;
in vec2 texcoord;
out vec4 fragcolor;
uniform sampler2d sampler;
uniform float percent;
void main
()複製**
隨著時間的推移不停的設定percent,然後計算當前顏色的所有顏色分量的和如果小於總分量(也就是4.0)*percent的值的話,就捨棄該片段,不進行渲染。 在corronisonview中設定時間動畫,不停修改corronisonviewrender中percent的值
private fun preparetimeanimator
() )
this.animator = animator
}複製**
github Android自定義View 自定義元件
自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...
Android自定義View實現
android自定義view實現很簡單 繼承view或者其子類,重寫建構函式 ondraw,onmeasure 等函式,根據繼承的類的不同可能有所不同。如果自定義的view需要有自定義的屬性,需要在values下建立attrs.xml。在其中定義你的屬性。在使用到自定義view的xml布局檔案中需要...
Android 自定義View 一
android的ui介面都是由view和viewgroup及其派生類組合而成的。其中,view是所有ui元件的基類,而viewgroup是容納這些元件的容器,其本身也是從view派生出來的。androidui介面的一般結構可參見下面的示意圖 可見,作為容器的viewgroup可以包含作為葉子節點的v...