Android学习笔记进阶17之LinearGradient

具体的看一下博文:Android学习笔记进阶15之Shader渲染

 

  1. package xiaosi.BitmapShader;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class BitmapShaderActivity extends Activity {  
  7.     /** Called when the activity is first created. */  
  8.     private BitmapShaders bitmapShaders = null;  
  9.     @Override  
  10.     public void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.           
  13.         bitmapShaders = new BitmapShaders(this);  
  14.         setContentView(bitmapShaders);  
  15.     }  
  16. }  


BitmapShaders.Java

    1. package xiaosi.BitmapShader;  
    2.   
    3. import android.content.Context;  
    4. import android.graphics.Bitmap;  
    5. import android.graphics.BitmapShader;  
    6. import android.graphics.Canvas;  
    7. import android.graphics.Color;  
    8. import android.graphics.ComposeShader;  
    9. import android.graphics.LinearGradient;  
    10. import android.graphics.Paint;  
    11. import android.graphics.PorterDuff;  
    12. import android.graphics.RadialGradient;  
    13. import android.graphics.Shader;  
    14. import android.graphics.SweepGradient;  
    15. import android.graphics.drawable.BitmapDrawable;  
    16. import android.graphics.drawable.ShapeDrawable;  
    17. import android.graphics.drawable.shapes.OvalShape;  
    18. import android.view.View;  
    19.   
    20. public class BitmapShaders extends View  
    21. {  
    22.     private LinearGradient linearGradient = null;  
    23.     private ComposeShader composeShader = null;  
    24.     private SweepGradient sweepGradient = null;  
    25.     private RadialGradient radialGradient = null;  
    26.     private BitmapShader bitmapShader = null;  
    27.     private Bitmap bitmap = null;  
    28.     private Paint paint = null;  
    29.     private ShapeDrawable shapeDrawable = null;  
    30.     private int BitmapWidth = 0;  
    31.     private int BitmapHeight = 0;  
    32.   
    33.     public BitmapShaders(Context context)  
    34.     {  
    35.         super(context);  
    36.         // 得到图像  
    37.         bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.v))  
    38.                 .getBitmap();  
    39.         BitmapWidth = bitmap.getWidth();  
    40.         BitmapHeight = bitmap.getHeight();  
    41.         // 构造渲染器LinearGradient  
    42.         linearGradient = new LinearGradient(0, 0, 100, 100, new int[] {  
    43.                 Color.RED, Color.GREEN, Color.BLUE, Color.WHITE }, null,  
    44.                 Shader.TileMode.REPEAT);  
    45.         paint = new Paint();  
    46.     }  
    47.   
    48.     @Override  
    49.     protected void onDraw(Canvas canvas)  
    50.     {  
    51.         super.onDraw(canvas);  
    52.         paint.setShader(linearGradient);  
    53.         canvas.drawRect(20, 50, 320, 156, paint);  
    54.     }  
posted @   brave-sailor  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2016-04-17 窥探 Swift 之 函数与闭包的应用实例
2016-04-17 swift 深入理解Swift的闭包
2016-04-17 Swift开发语法
2016-04-17 Swift学习笔记 - 函数与闭包
2016-04-17 那些年,学swift踩过的坑
2014-04-17 android之TabWidget选项卡
点击右上角即可分享
微信分享提示