在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...