zoukankan      html  css  js  c++  java
  • 自定义Drawable

    package com.loaderman.customviewdemo;
    
    import android.graphics.*;
    import android.graphics.drawable.Drawable;
    
    
    public class CustomDrawable extends Drawable {
        private Paint mPaint;
        private Bitmap mBitmap;
        private BitmapShader bitmapShader;
        private RectF mBound;
    
        public CustomDrawable(Bitmap bitmap) {
            mBitmap = bitmap;
            mPaint = new Paint();
            mPaint.setAntiAlias(true);
        }
    
        @Override
        public void draw(Canvas canvas) {
            canvas.drawRoundRect(mBound, 20, 20, mPaint);
        }
    
    
        @Override
        public void setAlpha(int alpha) {
            mPaint.setAlpha(alpha);
        }
    
        @Override
        public void setColorFilter(ColorFilter cf) {
            mPaint.setColorFilter(cf);
        }
    
        @Override
        public int getOpacity() {
            return PixelFormat.TRANSLUCENT;//显示模式
        }
    
        @Override
        public void setBounds(int left, int top, int right, int bottom) {
            super.setBounds(left, top, right, bottom);
    
            bitmapShader = new BitmapShader(Bitmap.createScaledBitmap(mBitmap, right - left, bottom - top, true), Shader.TileMode.CLAMP,
                    Shader.TileMode.CLAMP);
            mPaint.setShader(bitmapShader);
            mBound = new RectF(left, top, right, bottom);
        }
    
    //    @Override
    //    public int getIntrinsicWidth() {
    //        return mBitmap.getWidth();
    //    }
    //
    //    @Override
    //    public int getIntrinsicHeight() {
    //        return mBitmap.getHeight();
    //    }
    }
    package com.loaderman.customviewdemo;
    
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class MainActivity extends Activity  {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.avator);
            CustomDrawable drawable = new CustomDrawable(bitmap);
            TextView tv = (TextView) findViewById(R.id.tv);
            tv.setBackgroundDrawable(drawable);
        }
    }

  • 相关阅读:
    Spring Boot 使用 Dev-tool 热部署
    Spring Boot 上传文件
    Spring Boot 目录文件结构
    Spring MVC 文件上传
    Spring MVC 混合使用多种视图技术
    XmlViewResolver 和 ResourceBundleViewResolver
    XML 和 Json
    Excel 和 PDF
    04-树5 Root of AVL Tree (25 分)
    04-树4 是否同一棵二叉搜索树 (25 分)
  • 原文地址:https://www.cnblogs.com/loaderman/p/10220567.html
Copyright © 2011-2022 走看看