引路蜂二維圖形畫筆(Pen)示例含有四個示例,Lines ,Dashes ,LineJoin 和 LineCap。打算采用Option Menu(主菜單)的方式來選擇不同示例。
首先要對 GuidebeeGraphics2DView,和 Graphics2DActivity做些改動,從這個示例開始,GuidebeeGraphics2DView 需要動態(tài)繪制不同圖形(可以通過菜單,或是 Thread)。在GuidebeeGraphics2DView 增加下面兩個方法:
final Runnable updateCanvas = new Runnable() {
public void run() {
invalidate();
}
};
public void refreshCanvas(){
post(updateCanvas);
}
post 可以用在非 UI Thread 中 Call UI Thread 中方法。這里只是觸發(fā)屏幕重繪事件以刷新屏幕顯示。
在 Graphics2DActivity 增加一個變量 protected GuidebeeGraphics2DView graphic2dView; 來獲得對應的 GuidebeeGraphics2DView 實例。
graphic2dView=(GuidebeeGraphics2DView)findViewById(R.id.graphics2dview);
使用 Option Menu,盡管也可以完全使用代碼來創(chuàng)建菜單,更一般的方法是使用菜單資源。在 res 下創(chuàng)建 menu 子目錄,然后在 res\menu 下創(chuàng)建 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>