Android自定義從頭學起

2021-08-19 23:00:18 字數 1351 閱讀 3685

在android開發中,想要實現絢麗的效果,僅僅依賴於系統提供的控制項是無法滿足的,於是便產生了自定義view。

自定義view主要分為四類,第一種是通過繼承view,然後重寫view的ondraw方法,這種方式主要用於一些不規則的效果,第二種是繼承viewgroup派生特定的layout,這種方式主要用於自定義的布局。第三種主要是繼承特定的view,如textview等,一般用於根據自己的業務擴充套件系統空間的功能,第四類是繼承viewgroup,這種方式主要是實現自定義布局,能做出具有元件形式的自定義view;本文主要針對第一種方式進行講解,

第一步是建立自己的view繼承view類,然後重寫view類的構造方法和ondraw方法,自定義view需要個paint物件,然後在view個構造方法在對paint物件的相關引數進行設定,然後在ondraw中進行繪製,以下是個簡單的例子

public

class myview extends view

public

myview(context context, @nullable attributeset attrs)

public

myview(context context, @nullable attributeset attrs, int defstyleattr)

public

myview(context context, @nullable attributeset attrs, int defstyleattr, int defstyleres)

private

void

init()

@override

protected

void

ondraw(canvas canvas)

自定義view的使用和系統的控制項無異,

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

""xmlns:tools=""

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context="com.example.a16770.myexample.mainactivity">

"@+id/ws"

android:layout_width="wrap_content"

android:layout_marginleft="30dp"

android:paddingtop="100dp"

android:background="#fff0"

android:layout_height="60dp" />

**

Android自定義控制項 自定義屬性

自定義屬性的過程 1.在res values資料夾中建立attrs的xml檔案。2.寫入標籤,定義子標籤attr,放入自定義屬性的名稱。format 可以用 來同時使用 1 reference 參考某一資源id 2 color 顏色值 3 boolean 布林值 4 dimension 尺寸值 帶有...

Android自定義View 自定義元件

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

Android自定義控制項之自定義View 二

效果如下圖 1 自定義ringview繼承view新增其構造方法並建立畫筆 public class ringview extends view protected boolean isrunning false public ringview context context public ring...