亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android實現圓角矩形背景的方法

2020-04-11 11:23:54
字體:
來源:轉載
供稿:網友

本文實例講述了android實現圓角矩形背景的方法。分享給大家供大家參考。具體如下:

1. java代碼如下:

import android.graphics.Canvas;import android.graphics.Color;import android.graphics.ColorFilter;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.drawable.Drawable;import android.graphics.drawable.shapes.RoundRectShape;import android.view.MotionEvent;public class RoundRectDradable extends Drawable{  private static final float DEFAULT_RADIUS = 6.f;  private Paint mPaint = new Paint();  private RoundRectShape mShape;  private float[] mOuter;  private int mColor;  private int mPressColor;  private float mTopLeftRadius = DEFAULT_RADIUS;  private float mTopRightRadius = DEFAULT_RADIUS;  private float mBottomLeftRadius = DEFAULT_RADIUS;  private float mBottomRightRadius = DEFAULT_RADIUS;  public RoundRectDradable() {    mColor = Color.WHITE;    mPressColor = Color.WHITE;    mPaint.setColor(mColor);    mPaint.setAntiAlias(true);  }  public float getTopLeftRadius() {    return mTopLeftRadius;  }  public void setTopLeftRadius(float topLeftRadius) {    this.mTopLeftRadius = topLeftRadius;  }  public float getTopRightRadius() {    return mTopRightRadius;  }  public void setTopRightRadius(float topRightRadius) {    this.mTopRightRadius = topRightRadius;  }  public float getBottomLeftRadius() {    return mBottomLeftRadius;  }  public void setBottomLeftRadius(float bottomLeftRadius) {    this.mBottomLeftRadius = bottomLeftRadius;  }  public float getBottomRightRadius() {    return mBottomRightRadius;  }  public void setBottomRightRadius(float bottomRightRadius) {    this.mBottomRightRadius = bottomRightRadius;  }  public int getPressColor() {    return mPressColor;  }  public void setPressColor(int pressColor) {    this.mPressColor = pressColor;  }  @Override  protected void onBoundsChange(Rect bounds) {    super.onBoundsChange(bounds);    refreshShape();    mShape.resize(bounds.right - bounds.left, bounds.bottom - bounds.top);  }  private void refreshShape(){    mOuter = new float[]{mTopLeftRadius, mTopLeftRadius        , mTopRightRadius, mTopRightRadius        , mBottomLeftRadius, mBottomLeftRadius        , mBottomRightRadius, mBottomLeftRadius};    mShape = new RoundRectShape(mOuter, null, null);  }  public void setColor(int color){    mColor = color;    mPaint.setColor(color);  }  @Override  public void draw(Canvas canvas) {    mShape.draw(canvas, mPaint);  }  @Override  public void setAlpha(int alpha) {    mPaint.setAlpha(alpha);  }  @Override  public void setColorFilter(ColorFilter cf) {    mPaint.setColorFilter(cf);  }  @Override  public int getOpacity() {    return mPaint.getAlpha();  }}

2. java代碼如下:

import android.graphics.Rect;import android.graphics.drawable.StateListDrawable;public class StateRoundRectDrawable extends StateListDrawable{  private static final float DEFAULT_RADIUS = 6.f;  private float mTopLeftRadius = DEFAULT_RADIUS;  private float mTopRightRadius = DEFAULT_RADIUS;  private float mBottomLeftRadius = DEFAULT_RADIUS;  private float mBottomRightRadius = DEFAULT_RADIUS;  private int mNormalColor;  private int mPressedColor;  private RoundRectDradable mNormalDradable;  private RoundRectDradable mPressedDradable;  public StateRoundRectDrawable(int normalCorlor, int pressColor) {    this.mNormalColor = normalCorlor;    this.mPressedColor = pressColor;  }  @Override  protected void onBoundsChange(Rect bounds) {    if(mNormalDradable == null){      mNormalDradable = new RoundRectDradable();      mNormalDradable.setTopLeftRadius(mTopLeftRadius);      mNormalDradable.setTopRightRadius(mTopRightRadius);      mNormalDradable.setBottomLeftRadius(mBottomLeftRadius);      mNormalDradable.setBottomRightRadius(mBottomRightRadius);      mNormalDradable.setColor(mNormalColor);      mNormalDradable.onBoundsChange(bounds);    }    if(mPressedDradable == null){      mPressedDradable = new RoundRectDradable();      mPressedDradable.setTopLeftRadius(mTopLeftRadius);      mPressedDradable.setTopRightRadius(mTopRightRadius);      mPressedDradable.setBottomLeftRadius(mBottomLeftRadius);      mPressedDradable.setBottomRightRadius(mBottomRightRadius);      mPressedDradable.setColor(mPressedColor);      mPressedDradable.onBoundsChange(bounds);    }    this.addState(new int[]{-android.R.attr.state_pressed}, mNormalDradable);    this.addState(new int[]{android.R.attr.state_pressed}, mPressedDradable);  }  public float getTopLeftRadius() {    return mTopLeftRadius;  }  public void setTopLeftRadius(float topLeftRadius) {    this.mTopLeftRadius = topLeftRadius;  }  public float getTopRightRadius() {    return mTopRightRadius;  }  public void setTopRightRadius(float topRightRadius) {    this.mTopRightRadius = topRightRadius;  }  public float getBottomLeftRadius() {    return mBottomLeftRadius;  }  public void setBottomLeftRadius(float bottomLeftRadius) {    this.mBottomLeftRadius = bottomLeftRadius;  }  public float getBottomRightRadius() {    return mBottomRightRadius;  }  public void setBottomRightRadius(float bottomRightRadius) {    this.mBottomRightRadius = bottomRightRadius;  }  public int getNormalColor() {    return mNormalColor;  }  public void setNormalColor(int normalColor) {    this.mNormalColor = normalColor;  }  public int getPressedColor() {    return mPressedColor;  }  public void setPressedColor(int pressedColor) {    this.mPressedColor = pressedColor;  }}

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区三区精品电影| 亚洲激情成人网| www.久久久久久.com| 欧美孕妇性xx| 欧美视频不卡中文| 亚洲福利影片在线| 欧美激情网友自拍| 国内精品美女av在线播放| 国产激情视频一区| 日韩欧美亚洲一二三区| 国产精品成人av在线| 91在线播放国产| 亚洲性无码av在线| 午夜精品久久久久久久久久久久久| 一本色道久久88亚洲综合88| 国产精品吴梦梦| 国产综合在线看| 精品国产91乱高清在线观看| 久久久精品美女| 亚洲国产成人精品电影| 国产男女猛烈无遮挡91| 影音先锋日韩有码| 中文字幕成人精品久久不卡| 国产精品视频免费观看www| 激情成人中文字幕| 日韩av电影国产| 久久精品免费电影| 亚洲视频在线看| 伊人一区二区三区久久精品| 国产精品啪视频| 欧美黑人xxxx| 欧美成年人在线观看| 精品久久久久久久大神国产| 亚洲天堂av女优| 91精品国产高清久久久久久91| 欧美一区二区色| 国产亚洲人成网站在线观看| 欧美在线一级视频| 国产精品亚洲激情| 欧美日韩人人澡狠狠躁视频| 久久手机免费视频| 色综合久久88色综合天天看泰| 久久青草精品视频免费观看| 久久久伊人日本| 中文字幕亚洲综合| 91av国产在线| 欧美亚洲成人网| 国产精品尤物福利片在线观看| 国产精品一久久香蕉国产线看观看| 亚洲精品国产综合区久久久久久久| 中文字幕亚洲无线码在线一区| 日韩av电影院| 欧美一区三区三区高中清蜜桃| 欧美黄色www| 日韩av在线最新| 亚洲一区二区国产| 欧美精品情趣视频| 国产色视频一区| 91久久久久久久久久久久久| 亚洲片国产一区一级在线观看| 亚洲欧美日韩图片| 欧美高清性猛交| 亚洲人成电影网站色www| 一夜七次郎国产精品亚洲| 久久久天堂国产精品女人| 97久久国产精品| 精品成人在线视频| 欧美性猛交xxxx富婆| 黑人精品xxx一区一二区| 欧美日本啪啪无遮挡网站| 日本精品久久中文字幕佐佐木| 久久久久久综合网天天| 精品国产福利视频| 久久天天躁狠狠躁夜夜躁2014| 精品在线欧美视频| 亚洲色图25p| 91精品国产网站| 欧美在线观看一区二区三区| 亚洲va久久久噜噜噜久久天堂| 久久精品国产96久久久香蕉| 国产成人一区二区在线| 精品女厕一区二区三区| 欧美精品18videos性欧美| 26uuu另类亚洲欧美日本老年| 日韩视频在线一区| 亚洲精品网址在线观看| 日韩欧美成人精品| 国产精品老女人视频| 亚洲精品综合久久中文字幕| 狠狠色狠狠色综合日日小说| 91精品视频在线免费观看| 欧美性生活大片免费观看网址| 4438全国亚洲精品在线观看视频| 欧美大荫蒂xxx| 亚洲石原莉奈一区二区在线观看| 97国产真实伦对白精彩视频8| 日韩欧美中文字幕在线播放| 中文字幕亚洲字幕| 亚洲精品中文字| 亚洲国产精品99久久| 91精品在线观| 日韩av片永久免费网站| 欧美大片va欧美在线播放| 亚洲精品av在线| 97超碰蝌蚪网人人做人人爽| 国产精品福利片| 久久国产精品久久久久久久久久| 成人春色激情网| 日韩av在线最新| 秋霞成人午夜鲁丝一区二区三区| 亚洲欧美激情一区| 激情久久av一区av二区av三区| 91精品久久久久久久久青青| 日韩最新在线视频| 人人澡人人澡人人看欧美| 成人亚洲综合色就1024| 国语自产精品视频在线看抢先版图片| 久久精品国产亚洲精品2020| 久久99精品视频一区97| 国产中文日韩欧美| 欧美综合激情网| 久久久久久亚洲精品| 亚洲一区亚洲二区| 精品国产91久久久久久老师| 日韩欧美国产高清91| 日韩一级裸体免费视频| 国产一区视频在线| 国产精品成人va在线观看| 在线观看国产欧美| 大桥未久av一区二区三区| 久久精品免费电影| 欧美日韩不卡合集视频| 欧美视频在线看| 亚洲女同精品视频| 91青草视频久久| 国产在线视频一区| 亚洲国产成人精品久久| 久久精品中文字幕一区| 国产精品影片在线观看| 欧美日韩免费网站| 日韩成人在线视频| 国产a∨精品一区二区三区不卡| 亚洲九九九在线观看| 亚洲男人天堂九九视频| 国产成人精品视频| 国内免费久久久久久久久久久| 神马国产精品影院av| 国产成人在线精品| 欧美成人精品三级在线观看| 国产精品专区一| 色琪琪综合男人的天堂aⅴ视频| 国产精品视频专区| 日韩在线资源网| 国产伦精品一区二区三区精品视频| 国产97色在线| 色噜噜亚洲精品中文字幕| 91久久久久久久久久| 欧美大学生性色视频| 欧美肥臀大乳一区二区免费视频| 成年无码av片在线| 欧美疯狂xxxx大交乱88av| 亚洲精品一区二区网址| 国产精品jvid在线观看蜜臀| 18性欧美xxxⅹ性满足|