离线下载
PDF版 ePub版

引路蜂 · 更新于 2018-11-28 11:00:43

Option Menu 画笔示例

引路蜂二维图形画笔(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>