自定义控件继承View------Music
来源:互联网 发布:数据整理的英语 编辑:程序博客网 时间:2024/05/19 05:41
public class MusicView extends View {
private Paint paint;private int count;private float offetx;private float left;private float right;public MusicView(Context context) { super(context); init();}public MusicView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init();}public MusicView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init();}private void init(){ paint = new Paint(); paint.setColor(Color.RED); paint.setStyle(Paint.Style.FILL); paint.setStrokeWidth(3); count = 20; offetx = 40; left = 20; right = 50;}@Overrideprotected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); LinearGradient gradient = new LinearGradient( 0, 0, left , getHeight(), new int[]{Color.RED , Color.GREEN , Color.BLUE}, null, Shader.TileMode.CLAMP ); Log.d("onSizeChanged: " , "jig: " + getHeight() ); paint.setShader(gradient);}@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); /* android 坐标系是左上角为原点 。 详情见下期的博客 Android 坐标系详解 这里我们只需要控制x坐标 , 以及右下角的坐标。 左上角的y坐标控制music的显示高度 */ for(int i = 0; i < count; i++){ RectF rect = new RectF(left , (float)(Math.random() * 800 + 20), right, 820); canvas.drawRect(rect , paint); left += offetx; right += offetx; } left -= offetx * count; right -= offetx * count; this.postInvalidateDelayed(300);}
}
0 0
- 自定义控件继承View------Music
- 继承View自定义控件
- 自定义控件-继承View
- 自定义控件之 继承 View
- 继承View自定义开关控件
- 自定义view之继承控件
- android自定义控件(二) 入门,继承View
- android自定义控件(二) 入门,继承View
- Android-自定义控件之继承View
- android自定义控件(二) 入门,继承View
- android自定义控件(二) 入门,继承View
- 自定义View <0> 继承现有的控件
- Android 如何自定义控件(继承View)
- 继承view的自定义控件示例
- Android 自定义控件之继承view
- Android自定义控件View(二)继承控件
- 自定义控件 继承View 使用OnMeasure定义控件宽高
- 自定义View继承view
- 20170513 Win10打不开菜单且点击通知栏无反应的解决方法
- JS中的call()和apply()方法
- 动态规划考试test20170429
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- solrCloud 4.9 分布式集群部署及注意事项
- 自定义控件继承View------Music
- Java 读取.xls模板并另存为.xls
- POJ 3414 Pots(bfs+路径记录)
- 5 Best Linux Download Managers
- 什么是网络延迟
- CentOS7 64位下MySQL5.7安装与配置(YUM)
- 大学生程序设计邀请赛(华东师范大学)
- log4j配置详解
- No such module alamofire 用cococapod 导入 Alamofire