一. 运行效果以及源码
1.gif图效果

2.源码地址
MyDrawBoard
二.主要的思路
自定义View,在onDraw方法中利用Canvas的draw方法完成画板的各种操作。
三.使用到的技术点
1. 主要的内容
用到了下面的三个自己之前写的静态库。
① 底部按钮的控制器:自定义View-XLBottomView
② 画板的核心实现:自定义View-XLDrawBoard
③ 进度控制器:自定义View-XLSeekBar
2. 隐藏状态栏
参考文章:Android 显示、隐藏状态栏和导航栏
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | <resources>
 
 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
 
 <item name="colorPrimary">@color/colorPrimary</item>
 <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
 <item name="colorAccent">@color/colorAccent</item>
 
 <item name="android:windowFullscreen">true</item>
 </style>
 
 </resources>
 
 | 
3. 保存图片到系统相册
参考文章:android将应用中图片保存到系统相册并显示 ,android 调用系统照相机拍照后保存到系统相册,在系统图库中能看到
讲解的可以但是我使用后没有效果的:Android保存图片到系统相册
注意:清单文件中需要加入读写权限,此操作不需要动态申请权限。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 
 | <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="swu.xl.mydrawboard">
 
 
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
 <application
 android:allowBackup="true"
 android:icon="@mipmap/ic_launcher"
 android:label="@string/app_name"
 android:roundIcon="@mipmap/ic_launcher_round"
 android:supportsRtl="true"
 android:theme="@style/AppTheme">
 <activity android:name=".MainActivity" android:screenOrientation="sensor">
 <intent-filter>
 <action android:name="android.intent.action.MAIN" />
 
 <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
 </activity>
 </application>
 
 </manifest>
 
 | 
4. 使用include标签引入布局
参考文章:使用include标签引入布局
5. 横竖屏切换
参考文章:Android 横竖屏切换总结