Option Menu 画笔示例
优质
小牛编辑
123浏览
2023-12-01
引路蜂二维图形画笔(Pen)示例含有四个示例,Lines ,Dashes ,LineJoin 和 LineCap。打算采用Option Menu(主菜单)的方式来选择不同示例。
首先要对 GuidebeeGraphics2DView,和 Graphics2DActivity做些改动,从这个示例开始,GuidebeeGraphics2DView 需要动态绘制不同图形(可以通过菜单,或是 Thread)。在GuidebeeGraphics2DView 增加下面两个方法:
final Runnable updateCanvas = new Runnable() {
public void run() {
invalidate();
}
};
public void refreshCanvas(){
post(updateCanvas);
}
post 可以用在非 UI Thread 中 Call UI Thread 中方法。这里只是触发屏幕重绘事件以刷新屏幕显示。
在 Graphics2DActivity 增加一个变量 protected GuidebeeGraphics2DView graphic2dView; 来获得对应的 GuidebeeGraphics2DView 实例。
graphic2dView=(GuidebeeGraphics2DView)findViewById(R.id.graphics2dview);
使用 Option Menu,尽管也可以完全使用代码来创建菜单,更一般的方法是使用菜单资源。在 res 下创建 menu 子目录,然后在 res\menu 下创建 menu_option_line.xml 用来显示 Pen 的四个示例选项:
<?xml version=”1.0″ encoding=”utf-8″?>
<menu
xmlns:android=”[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)“>
<item
android:id=”@+id/mnuLines”
android:title=”Lines”
android:icon=”@drawable/icon1″>
</item>
<item
android:id=”@+id/mnuDashes”
android:title=”Dashes”
android:icon=”@drawable/icon2″>
</item>
<item
android:id=”@+id/mnuLineCap”
android:title=”LineCap”
android:icon=”@drawable/icon3″>
</item>
<item
android:id=”@+id/mnuLineJoin”
android:title=”LineJoin”
android:icon=”@drawable/icon4″>
</item>
</menu>