---恢复内容开始---
1.新建一个类,继承View父类。重写一个或多个构造器后,在图编辑器里就有该控件可以拖动添加了。
2.若想使用Draw来绘制自己的控件。可以在View()方法中使用Draw()来绘制。
3.还可以定义控件属性选择。 new——〉android resource file ——〉resource type(drawable)___ root element(selector)——〉
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:drawable="@drawable/ic_menu_camera"></item> //被按下时 使用ic_menu_camera 这个资源
<item android:state_pressed="false" android:drawable="@drawable/ic_menu_share"></item> //未被按下时 使用ic_menu_share这个资源 </selector>
4.例如,与button的 background相关联 。
<Buttonandroid:background="@drawable/button_skin" ----指定的是这个selector文件,而不是固定的背景文件。android:id="@+id/login_commit_btn"android:onClick="register"android:layout_width="280dp"android:layout_height="wrap_content"android:layout_alignLeft="@+id/login_input_code_et"android:layout_below="@+id/login_input_code_et"android:layout_marginTop="44dp"android:text="注册" />
5. 在draw(Canvas canvas)方法中
画出一个图片后,invalidate()方法可以让当前这个图片无效,而view会自动检测到无效时会重新调用Draw()方法。
可以用canvas.save()方法来保存canvas状态。保存后可以进行修改相关状态。
然后再调用canvas.restore()方法来恢复。