xmlversion
="1.0"
encoding
="utf-8"
?>
<
resources
>
<
declare
-styleable
name
="myarcscalemap"
>
<
attr
name
="myarcscalemap_titletext"
format
="string"
/>
<
attr
name
="myarcscalemap_titletextcolor"
format
="color"
/>
<
attr
name
="myarcscalemap_titletextsize"
format
="dimension"
/>
declare
-styleable
>
resources
>
import android.content.context;
import android.content.res.typedarray;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.rectf;
import android.util.attributeset;
import android.view.view;
public class myarcscalemap extends view
public myarcscalemap(context context, attributeset attrs,int defstyleattr)
/*** myarcscalemap 構造方法
* @param context 上下文 引數
* @param attrs xml引數
*/public myarcscalemap(context context, attributeset attrs)
/*** 過載ondraw方法,重定義畫布
* @param canvas 控制項畫布引數
* canvas.drawcircle 畫圓
* canvas.drawarc 畫圓弧
* canvas.drawtext 寫字
*/@override
protected void ondraw(canvas canvas)
/*** 控制項大小測量
* @param widthmeasurespec 控制項寬
* @param heightmeasurespec 控制項高
*/@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
/*** initmyarcscalemap() 初始化方法
* 初始化mcirclepaint marcpaint mtextpaint等畫筆引數
*/public void initmyarcscalemap()else
mcirclexy = length/2;
mradius = (float)(length*0.5)/2;
mcirclepaint = new paint();
mcirclepaint.setantialias(true);
mcirclepaint.setcolor(getresources().getcolor(android.r.color.holo_blue_bright));
marcrectf = new rectf(
(float) (length * 0.1),
(float) (length * 0.1),
(float) (length * 0.9),
(float) (length * 0.9));
msweepangle = (msweepvalue / 100f) * 360f;
marcpaint = new paint();
marcpaint.setantialias(true);
marcpaint.setcolor(getresources().getcolor(android.r.color.holo_blue_bright));
marcpaint.setstrokewidth((float) (length * 0.1));
marcpaint.setstyle(paint.style.stroke);
mtextpaint = new paint();
mtextpaint.settextsize(marcscalemaptitletextsize);
mtextpaint.setcolor(marcscalemaptitletextcolor);
mtextpaint.settextalign(paint.align.center);
this.invalidate();}}
自定義view之繼承View重寫onDraw方法
首先,這種繼承方法主要用於實現一些不規則的效果,一般需要重寫ondraw方法。實現view的構造方法 public circleview context context 在values下新建乙個attrs.xml檔案 xml version 1.0 encoding utf 8 name circl...
Android 設定View 圓角
雖然很簡單,但還是記錄一下。不一到此一遊 在drawable檔案下 建立乙個布局檔案corners bg.xml 000000 圓角view的背景顏色 10dp 上左圓角 android toprightradius 10dp 上右圓角 android bottomrightradius 10dp ...
Android 動態新增view
android 動態新增view 第一次寫部落格,記錄一下平時出現bug。這兩天寫乙個東西,要動態的迴圈的新增乙個layout,走了一點彎路,說實話,我也是乙個android菜鳥,好記性不如爛筆頭,現在記錄下來,以免以後在遇到這樣的坑。進入主題,直接上 private void initattrib...