热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidView平滑绘制:深入解析AndroidDrawingView的优化技巧与实现方法

本文深入探讨了AndroidDrawingView的优化技巧与实现方法,重点介绍了如何实现平滑绘制效果。通过支持常见的绘图工具和形状,以及图层变换功能,提升了用户体验。文章详细解析了绘制过程中的性能优化策略,包括减少重绘次数、使用硬件加速和优化内存管理等技术,为开发者提供了实用的参考。

绘画板,支持平滑跟随,常用形状,图层变换

Import

Add it in your project's build.gradle at the end of repositories:

repositories {

// ...

maven { url "https://jitpack.io" }

}

Step 2. Add the dependency in the form

dependencies {

compile 'com.github.vilyever:AndroidDrawingView:1.6.7'

}

Usage

android:id="@+id/drawingView"

android:layout_width="0dp"

android:layout_height="match_parent"

android:layout_weight="1"/>

drawingView = (DrawingView) rootView.findViewById(R.id.drawingView);

drawingView.setUndoRedoStateDelegate(new DrawingView.UndoRedoStateDelegate() {

@Override

public void onUndoRedoStateChange(DrawingView drawingView, boolean canUndo, boolean canRedo) {

undoButton.setEnabled(canUndo);

redoButton.setEnabled(canRedo);

}

});

drawingView.setInterceptTouchDelegate(new DrawingView.InterceptTouchDelegate() {

@Override

public void requireInterceptTouchEvent(DrawingView drawingView, boolean isIntercept) {

}

});

drawingView.setBackgroundDatasource(new DrawingView.BackgroundDatasource() {

@Override

public Drawable gainBackground(DrawingView drawingView, String identifier) {

return null;

}

});

penBrush = PenBrush.defaultBrush();

drawingView.setBrush(penBrush);

License



推荐阅读
author-avatar
古镇飞天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有