一attr
1.作用
attr用於約束屬性的資料型別,xml資源檔案中定義各種attr,指定attr的資料型別。
在布局檔案中為自定義view的xml屬性賦值。
在自定義view的建構函式中,解析xml總定義的屬性值,將其放入自定義view對應的成員變數中。
2.
<?xml version="1.0" encoding="utf-8"?>
每個attr都會在r檔案裡生成乙個id,獲取方式為typedarray a=context.gettheme().obtainstyledattributes(attrs,r.styleable.customview,defstyleattr,0);二paint可以當做畫筆
mpaint.setcolor(color.red);//設定畫筆的顏色
mpaint.settextsize(60);//設定文字大小
mpaint.setstrokewidth(5);//設定畫筆的寬度
mpaint.setantialias(true);//設定抗鋸齒功能 true表示抗鋸齒 false則表示不需要這功能
三canvas
可以當做畫布
oval:定義圓弧的形狀和大小的範圍
startangle:設定圓弧從哪個角度順時針繪畫
sweepangle:設定圓弧掃過的角度
usecenter:畫圓弧是否經過圓形
paint:設定畫筆物件的屬性
四**實現
1.attr檔案
<?xml version="1.0" encoding="utf-8"?>
2.自定義類volumeview
public class volumeview extends view
public volumeview(context context, attributeset attrs)
public volumeview(context context, attributeset attrs, int defstyleattr) else
break;
}return true;}}
3.在布局中引用自定義
<?xml version="1.0" encoding="utf-8"?>
4.效果圖
Android 自定義環形音量調節控制項
今天同樣是練習自定義view的一天,今天實現環形音量調節控制項,下滑增大音量值,上滑減小音量。然後裡面還做了一點儀錶盤繪製的擴充套件,在注釋裡面。attrs.xml circlevolumeview public class circlevolumeview extends view public ...
自定義乙個voiceview音量調節控制項
記得以前有乙個需求 首先定義voiceview private void initview 我在建立控制項的時候定義乙個init方法進行一些初始化,這裡有初始速度,矩形弧度,每個音量塊的寬度以及每個音量塊的高度,音量指示器等,這裡我把指示器的寬度設定為音量塊寬度的二倍。好我們主要看一下draw方法裡...
Android自定義View 自定義元件
自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...