今天同樣是練習自定義view的一天,今天實現環形音量調節控制項,下滑增大音量值,上滑減小音量。
然後裡面還做了一點儀錶盤繪製的擴充套件,**在注釋裡面。
attrs.xml
circlevolumeview
public class circlevolumeview extends view
public circlevolumeview(context context, @nullable attributeset attrs)
public circlevolumeview(context context, @nullable attributeset attrs, int defstyleattr)
@override
protected void ondraw(canvas canvas)
// canvas.drawarc(rectf, arcangle - i * (arcangle + intervalangle), arcangle, false, paint);
// }
for (int i = 0; i < maxvolume; i++)
canvas.drawarc(rectf, 360 - i * (arcangle + intervalangle), arcangle, false, paint);}}
public void addvolume()
currentvolume++;
invalidate();
}public void minusvolume()
currentvolume--;
invalidate();
}float eventy = 0;
@override
public boolean ontouchevent(motionevent event) else if (event.getaction() == motionevent.action_up) else
}return true;}}
main.xml
android:layout_width="wrap_content"android:layout_height="wrap_content"
android:visibility="visible"
自定義view 音量調節
一attr 1.作用 attr用於約束屬性的資料型別,xml資源檔案中定義各種attr,指定attr的資料型別。在布局檔案中為自定義view的xml屬性賦值。在自定義view的建構函式中,解析xml總定義的屬性值,將其放入自定義view對應的成員變數中。2.每個attr都會在r檔案裡生成乙個id,獲...
Android自定義環形進度條
主頁面 author 有點涼了 public class mainactivity extends activity catch interruptedexception e start override public boolean oncreateoptionsmenu menu menu ov...
android 自定義 環形進度條
其實這個控制項很簡單,繼承view,在ondraw 中 繪製乙個圓和乙個圓弧即可,如下,對外暴露了乙個設定進度的方法,難點主要是數學計算 public class circleview extends view private void initvalues private void init ov...