1. 程式人生 > >自定義View畫圓環(巢狀圓環)

自定義View畫圓環(巢狀圓環)

首先建立一個RingView.java

public class RingView extends View{

    //宣告變數
    private Paint paint;
    private Context context;

    public RingView(Context context) {
        super(context);
    }

    public RingView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public RingView
(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } /*測量*/ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } /*繪製*/ @Override
protected void onDraw(Canvas canvas) { //畫圓 Paint big = new Paint(); Paint moddle=new Paint(); Paint small = new Paint(); //獲得螢幕的寬高 int width = canvas.getWidth() / 2; int height = canvas.getHeight() / 2; //設定顏色 big.setColor(Color.BLUE); small.setColor(Color.BLUE); moddle.setColor(Color.WHITE); //清除鋸齒
big.setAntiAlias(true); moddle.setAntiAlias(true); small.setAntiAlias(true); //畫布顏色 canvas.drawColor(Color.WHITE); //畫圓 canvas.drawCircle(width, height,160,big); canvas.drawCircle(width, height,110,moddle); canvas.drawCircle(width, height,60,small); //例項化一個畫筆 Paint paint = new Paint(); paint.setTextSize(10); paint.setColor(Color.WHITE); // 畫矩形(Rect) Rect rect = new Rect(170, width, 270, height); canvas.drawRect(rect, paint); super.onDraw(canvas); } /*定位*/ @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); } }

在activity_main.XML中關聯RingView.java

<com.xxx.RingView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

效果圖,左上有一個白色正方體遮蓋圓

相關推薦

定義View()

首先建立一個RingView.java public class RingView extends View{ //宣告變數 private Paint paint; private Context context; pub

初識Android定義View----一個

新建一個CircleView類 public class CircleView extends View { private Paint mPaint; private Resources resources = getResources();

Android繪圖:定義View之——矩形進度條、進度條、填充型進度條、時鐘

主函式 這幾種進度條的主函式都是類似的,所以下面我只給出了一個填充型進度條的主函式,其他幾個主函式只是在這基礎上改動一下按鈕id(即與各自佈局裡面的id相同即可),還有改動一下相對應的類即可。 public class MainActivity

Android定義View+進度條+定義View梯形

//自定義進度圓圈 package com.bw.20171104; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas

定義view轉盤

public class LinView extends View implements View.OnClickListener { private Paint mPaint; private int mX; private int mY; private boolean flag;

定義View表格

佈局介面 <com.baidu.tast1.MyView android:id="@+id/myView" android:layout_width="match_parent" android:layout_height="0dp" andr

Android定義View出一個時鐘(時針、分針、秒針)完美搭配當前時間走動

1、獲取時間值 private void getDatas() { SimpleDateFormat format = new SimpleDateFormat("HH,mm,ss"); String time = format

Android定義View ——弧線詳解(Rectf放入用法)

好久沒有寫部落格了。最近想寫一個關於Android的介面,類似於遙控器按鈕形狀,就是類似於下面這張圖片,但是我想設計的使上下左右四個按鈕不是連在一起的,他們之間是有間隔的。在設計的途中關於畫弧線這個函式,我一直沒有理解,所以就這部分進行了一些測試,大家看過這張圖片之後就明白

Android定義view五星紅旗

<com.example.day03_view_demo.StarFlagView android:layout_height="match_parent" android:layout_width="match_parent" /> 、、 java程式碼: public class Sta

定義View學習-繪製一個簡單的

想把平時學到的關於自定義View的一些東西記錄下來,從最基本的慢慢往難學吧。這篇是簡單的不能再簡單的繪製,算是一個入門吧。做了兩個,一個是就顯示圓。還有一個是繪製的圓根據手指滑動的位置來移動。並且圓的半徑是動態的,所以這也就導致了你的圓跟著你的手指滑動時,一會大

JSP定義標籤(4):開發jsp的標籤

開發巢狀的標籤:haveChildTag   實際工程中往往需要多個標籤來配合完成一定的功能,巢狀的標籤存在父子關係,其中,父為外層標籤,子為內層標籤。本例項將用兩個簡單的標籤來演示,父標籤則作出邏輯判斷,如果isOutput屬性為true,則輸出例項108中的標籤hello

定義view的改變

paint contex bool ctf reat ssa log += ret //次線程更新ui Handler handler = new Handler(){ @Override public void handleMessag

Android 定義View例項之進度

自定義View的相關文章: Android 實現一個簡單的自定義View Android 自定義View步驟 Android Paint詳解 Android 自定義View之Canvas相關方法說明 Android 自定義View例項之 “京東跑”

移動開發-----定義View

import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.grap

android定義view隨著手指移動

public class MyView extends View { private Paint mFanPaint,mTextPaint;//扇形畫筆和文字畫筆 public float AxisX=100; public float AxisY=100; public MyView(

Android 定義View (三) 交替 等待效果

轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/24500107一個朋友今天有這麼個需求(下圖),我覺得那自定義View來做還是很適合的,就做了下,順便和大家分享下,對於自定義View多練沒壞處麼。如果你看了

Android定義View——彩色統計圖

效果展示實現步驟1、初始化變數 //-------------必須給的資料相關------------- private String[] str = new String[]{"一年級", "二年級", "三年級", "四年級", "五年級", "六年級"};

定義View實戰之漸變,可撥動,帶動畫控制元件實現

效果圖預覽 1. 分析 1. 繪製中間數字 2. 繪製帶刻度的圓環 考慮分成若干等份 3. 繪製漸變圓環 需要用到漸變相關屬性 4. 動畫處理的同時需要考慮時時計算角度 5. 圓環開關控制

Android事件傳遞機制詳解(定義View示例)

一、概述   自定義View如果嵌套了自定義View,可能簡單寫一個onTouchEvent處理事件已經不能解決你的需要。簡單舉個例子: 你自定義了一個容器View,簡稱為父View,在這裡監聽點選事件,做事情A,監聽滑動做事情B 然後你又自定了一個View,放入該容器

Android 如何 圖 -------定義View

實現了 柱狀圖 根據 SeekBar的滑動 改變的效果: 圖示效果: 自定義View的程式碼: package com.example.coustomviewdemo; import android.R.color; import android.content