欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android自定義View中Paint、Rect、Canvas介紹(一)

自定義View對(duì)于新手而言貌似是一個(gè)很復(fù)雜的東西。格式,各函數(shù)的意義。對(duì)于大神經(jīng)常忘記各函數(shù)及一些參數(shù)的具體寫(xiě)法及意義,剛好在做一個(gè)風(fēng)車效果,把過(guò)程及遇到的問(wèn)題都寫(xiě)下來(lái)

創(chuàng)新互聯(lián)是專業(yè)的臨川網(wǎng)站建設(shè)公司,臨川接單;提供做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行臨川網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1、如何自定義一個(gè)View

public class LeafView extends View {
  private String TAG = "--------LeafView";
  public LeafView(Context context, AttributeSet attrs) {
    super(context, attrs);

    Log.i(TAG, "我是自定義View: LeafView");
  }
}

<LinearLayout
  android:layout_width="match_parent"
  android:layout_height="100dp"
  android:orientation="vertical"
  android:background="@color/colorPrimary"
  >

  <com.my.LeafView
    android:id="@+id/leafView"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center_horizontal"
    />
 </LinearLayout>

上面就是自定義了一個(gè)LeafView最簡(jiǎn)單的寫(xiě)法。當(dāng)然界面上什么都不會(huì)顯示,除了LinearLayout的背景色

Android自定義View中Paint、Rect、Canvas介紹(一)

2、onDraw(Canvas canvas)方法

我們現(xiàn)來(lái)看下面一段代碼,畫(huà)出一個(gè)紅色的正方形

public class MyView extends View {
  private String TAG = "--------MyView";
  private int width, height;
  public MyView(Context context, AttributeSet attrs) {
    super(context, attrs);

  }

  @Override
  protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    width = w;
    height = h;
  }

  @Override
  protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Rect rect = new Rect(0, 0, width, height);
    Paint paint = new Paint();
    paint.setColor(Color.RED);
    canvas.drawRect(rect, paint);
  }
}

Android自定義View中Paint、Rect、Canvas介紹(一)

通過(guò)看上面代碼,有一個(gè)onSizeChanged()、onDraw()、canvas.drawRect()方法,有一個(gè)Paint, Rect, Canvas類

1、onSizeChanged() 當(dāng)View的大小發(fā)生改變時(shí),會(huì)調(diào)用此方法。這里我們獲取View的長(zhǎng)和寬

2、onDraw(Canvas canvas) 這個(gè)方法就是自定義View的核心。繪制各種圖形

  protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Rect rect = new Rect(0, 0, width, height);
    Paint paint = new Paint();
    paint.setColor(Color.RED);
    canvas.drawRect(rect, paint);
  }

Canvas(畫(huà)布)類

可以用來(lái)實(shí)現(xiàn)各種圖形的繪制工作,如繪制直線、矩形、圓等等   

  1、繪制直線:canvas.drawLine();

  2、繪制矩形:canvas.drawRect();

  3、繪制圓形:canvas.drawCircle();

  4、繪制字符:canvas.drawText();

  5、繪制圖形:canvas.drawBirmap();

Paint(畫(huà)筆)類

要繪制圖形,首先得調(diào)整畫(huà)筆,按照自己的開(kāi)發(fā)需要設(shè)置畫(huà)筆的相關(guān)屬性

  1、setAntiAlias():設(shè)置畫(huà)筆的鋸齒效果

  2、setColor():設(shè)置畫(huà)筆的顏色

  3、setARGB():設(shè)置畫(huà)筆的A、R、G、B值

  4、setAlpha():設(shè)置畫(huà)筆的Alpha值

  5、setTextSize():設(shè)置字體的尺寸

  6、setStyle():設(shè)置畫(huà)筆的風(fēng)格(空心或?qū)嵭模?/p>

  7、setStrokeWidth():設(shè)置空心邊框的寬度

  8、getColor():獲取畫(huà)筆的顏色

Rect(尺寸)類

設(shè)置畫(huà)布大小new Rect(int left, int top, int right, int bottom)

 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享名稱:Android自定義View中Paint、Rect、Canvas介紹(一)
文章URL:http://www.chinadenli.net/article30/joejpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站標(biāo)簽優(yōu)化移動(dòng)網(wǎng)站建設(shè)定制網(wǎng)站搜索引擎優(yōu)化響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)