Android自定義View實現

2021-06-05 10:27:36 字數 1343 閱讀 9008

android自定義view實現很簡單

繼承view或者其子類,重寫建構函式、ondraw,(onmeasure)等函式,根據繼承的類的不同可能有所不同。

如果自定義的view需要有自定義的屬性,需要在values下建立attrs.xml。在其中定義你的屬性。

在使用到自定義view的xml布局檔案中需要加入xmlns:字首="包路徑".

在使用自定義屬性的時候,使用字首:屬性名,如my:textcolor="#fffffff"。

package demo.view.my;

import android.content.context;

import android.content.res.typedarray;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.paint.style;

import android.util.attributeset;

import android.view.view;

/** * 這個是自定義的textview.

* 至少需要過載構造方法和ondraw方法

* 對於自定義的view如果沒有自己獨特的屬性,可以直接在xml檔案中使用就可以了

* 如果含有自己獨特的屬性,那麼就需要在建構函式中獲取屬性檔案attrs.xml中自定義屬性的名稱

* 並根據需要設定預設值,放在在xml檔案中沒有定義。

* 如果使用自定義屬性,那麼在應用xml檔案中需要加上新的schemas,

* 比如這裡是xmlns:my="demo.view.my"

* 其中xmlns後的「my」是自定義的屬性的字首,res後的是我們自定義view所在的包

* @author administrator

* */

public class myview extends view

public myview(context context, attributeset attrs)

public void ondraw(canvas canvas)

}

相應的屬性檔案:

<?xml version="1.0" encoding="utf-8"?>

在布局檔案中的使用:

<?xml version="1.0" encoding="utf-8"?>

**

實訓 自定義View

1.自定義view分為自繪控制項和重寫控制項 2.自繪控制項 建立乙個類繼承view,通過重寫ondraw方法,使用canvas,paint等工具完成繪製,然後在activity的布局中引用建立乙個子執行緒,每隔1s重新整理new thread new runnable catch interrup...

Android自定義View 自定義元件

自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...

Android 自定義View 一

android的ui介面都是由view和viewgroup及其派生類組合而成的。其中,view是所有ui元件的基類,而viewgroup是容納這些元件的容器,其本身也是從view派生出來的。androidui介面的一般結構可參見下面的示意圖 可見,作為容器的viewgroup可以包含作為葉子節點的v...