最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android自定義控件繪制基本圖形基礎(chǔ)入門

 更新時(shí)間:2017年01月25日 10:45:01   作者:zhiyuan0932  
這篇文章主要為大家詳細(xì)介紹了Android自定義控件繪制基本圖形基礎(chǔ)入門資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文講述繪制Android自定義各種圖形效果,為自定義控件的入門篇

相關(guān)視頻鏈接:

Android自定義控件系列
http://edu.csdn.net/course/detail/3719/65396
Android視頻全系列
http://edu.csdn.net/course/detail/2741/43163

繪制點(diǎn)–這個(gè)控件只需要在布局中引用或者代碼中new 即可,下面幾個(gè)繪制只展示onDraw方法

package com.example.viewdemo1.view;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.util.AttributeSet;
import android.view.View;

public class PointView extends View {

 public PointView(Context context, AttributeSet attrs, int defStyleAttr) {
  super(context, attrs, defStyleAttr);
 }

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

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

 @Override
 protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  // 對(duì)于畫筆
  Paint paint = new Paint();
  // 設(shè)置抗鋸齒
  paint.setAntiAlias(true);
  // 設(shè)置畫筆顏色
  paint.setColor(Color.RED);
  // 三種樣式
  paint.setStyle(Style.FILL_AND_STROKE);
  paint.setStrokeWidth(5);
  // 陰影
  paint.setShadowLayer(10, 0, 0, Color.CYAN);
  // 點(diǎn)的坐標(biāo) x0,y0,x1,y1......
  float[] pts = { 50, 50, 100, 100, 200, 200, 300, 300, 0, 100, 100, 0 };
  canvas.drawPoints(pts, paint);
  // 繪制點(diǎn)的時(shí)候,隔著幾個(gè)點(diǎn)繪制幾個(gè),最多不到多少點(diǎn)
  canvas.drawPoints(pts, 1, 6, paint);
 }

}

繪制線

@Override
 protected void onDraw(Canvas canvas) {
  super.onDraw(canvas);
  // 對(duì)于畫筆
  Paint paint = new Paint();
  // 設(shè)置抗鋸齒
  paint.setAntiAlias(true);
  // 設(shè)置畫筆顏色
  paint.setColor(Color.RED);
  // 三種樣式
  paint.setStyle(Style.FILL);
  paint.setStrokeWidth(0.5f);
  // 陰影
  // paint.setShadowLayer(10, 0, 0, Color.CYAN);
  // x0,y0,x1,y1
  float[] pts = { 100, 100, 200, 200, 200, 200, 300, 200, 300, 200, 300,
    400 };
  // 以上是6個(gè)點(diǎn)的x,y坐標(biāo),兩兩連成線段
  canvas.drawLines(pts, paint);
  // 畫一條線
  canvas.drawLine(0, 0, 100, 100, paint);

  }

繪制圓

//指定圓心坐標(biāo),半徑就OK
canvas.drawCircle(100, 100, 100, paint);

繪制文字

//設(shè)置文字大小
paint.setTextSize(40);
//指定坐標(biāo),最好指定文字大小
canvas.drawText("哈", 100, 500, paint);
//將文字設(shè)置到指定路徑上
Path path = new Path();
paint.setTextSize(50);
path.addCircle(200, 200, 150, Direction.CCW);
canvas.drawTextOnPath("我愛你我的祖國(guó),我愛你我親愛的姑娘", path, 0, 0, paint);

繪制矩形

// 陰影
paint.setShadowLayer(10, 0, 0, Color.CYAN);
// x y 坐標(biāo) 及半徑值
// canvas.drawCircle(100, 100, 50, paint);
canvas.drawRect(50, 50, 300, 300, paint);

繪制圓弧 

 //指定放置圓弧的矩形
 RectF oval=new RectF(10,10,210,210);
 //繪制圓弧-0是指開始度數(shù),270是指結(jié)束度數(shù) false是指不連接圓心,paint是畫筆
 canvas.drawArc(oval, 0, 270, false, paint);

繪制橢圓

//指定矩形,指定畫筆
canvas.drawOval(oval, paint);

以上就是基本圖形的繪制了…very easy。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android中JSON的4種解析方式使用和對(duì)比

    Android中JSON的4種解析方式使用和對(duì)比

    本文主要介紹了Android中JSON的4種解析方式使用和對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-06-06
  • Flutter 控制屏幕旋轉(zhuǎn)的實(shí)現(xiàn)

    Flutter 控制屏幕旋轉(zhuǎn)的實(shí)現(xiàn)

    這篇文章主要介紹了Flutter 控制屏幕旋轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Android使用Toast顯示消息提示框

    Android使用Toast顯示消息提示框

    這篇文章主要為大家詳細(xì)介紹了Android使用Toast顯示消息提示框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android實(shí)現(xiàn)底部導(dǎo)航欄效果

    Android實(shí)現(xiàn)底部導(dǎo)航欄效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)底部導(dǎo)航欄效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Android多線程學(xué)習(xí)實(shí)例詳解

    Android多線程學(xué)習(xí)實(shí)例詳解

    這篇文章主要介紹了Android多線程,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android多線程的概念、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-10-10
  • Android開發(fā)教程之shape和selector的結(jié)合使用

    Android開發(fā)教程之shape和selector的結(jié)合使用

    shape和selector是Android UI設(shè)計(jì)中經(jīng)常用到的,比如我們要自定義一個(gè)圓角Button,點(diǎn)擊Button有些效果的變化,就要用到shape和selector,接下來(lái)通過(guò)本文給大家介紹Android開發(fā)教程之shape和selector的結(jié)合使用,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Android Settings 按住電源按鈕的操作方法

    Android Settings 按住電源按鈕的操作方法

    這篇文章主要介紹了Android Settings 按住電源按鈕的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • Android 編程下的計(jì)時(shí)器代碼

    Android 編程下的計(jì)時(shí)器代碼

    在安卓 APP 的手機(jī)號(hào)注冊(cè)邏輯中,經(jīng)常會(huì)有將激活碼發(fā)送到手機(jī)的環(huán)節(jié),這個(gè)環(huán)節(jié)中絕大多數(shù)的應(yīng)用考慮到網(wǎng)絡(luò)延遲或服務(wù)器壓力以及短信服務(wù)商的延遲等原因,會(huì)給用戶提供一個(gè)重新獲取激活碼的按鈕
    2013-08-08
  • Github簡(jiǎn)單易用的?Android?ViewModel?Retrofit框架

    Github簡(jiǎn)單易用的?Android?ViewModel?Retrofit框架

    這篇文章主要介紹了Github簡(jiǎn)單易用的Android?ViewModel?Retrofit框架,RequestViewMode有自動(dòng)對(duì)LiveData進(jìn)行緩存管理,每個(gè)retrofit api接口復(fù)用一個(gè)livedata的優(yōu)勢(shì)。下文具體詳情,感興趣的小伙伴可以參考一下
    2022-06-06
  • Android連接指定Wifi的方法實(shí)例代碼

    Android連接指定Wifi的方法實(shí)例代碼

    本篇文章主要記錄一下Android中打開Wifi、獲取Wifi接入點(diǎn)信息及連接指定接入點(diǎn)的方法,通過(guò)小編自己寫的demo主要用于測(cè)試接口的基本功能,具體實(shí)例代碼大家通過(guò)本文一起學(xué)習(xí)吧
    2017-03-03

最新評(píng)論

咸宁市| 扬中市| 凌源市| 赫章县| 深泽县| 双城市| 宁河县| 兴仁县| 平山县| 邯郸市| 抚顺市| 砚山县| 蒲城县| 旌德县| 阳东县| 大庆市| 中山市| 白水县| 金川县| 武宣县| 肃北| 长泰县| 墨竹工卡县| 西和县| 江陵县| 玉屏| 松滋市| 赤水市| 旅游| 闻喜县| 招远市| 文登市| 思南县| 辰溪县| 凤翔县| 固始县| 清丰县| 兴宁市| 株洲县| 揭阳市| 新邵县|