1
我是新開發的Android開發人員,並且遇到了如何在圖像頂部添加繪製線的問題。我可以繪製線條並顯示它,或者我可以顯示圖像,但我無法弄清楚如何同時顯示兩者。在main.xml頂部添加onDraw drawable
考慮一個anolog速度計的規格。在main.xml中我有一個ImageView,它顯示速度計減去針的圖像。對於針,我想以編程方式繪製一條線並將其添加到量表圖像的頂部。
這裏是我的活動和視圖代碼:
public class StartDraw extends Activity {
DrawView drawView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
setContentView(new DrawView(this));
}
final class DrawView extends View {
Paint paint = new Paint();
public DrawView(Context context) {
super(context);
paint.setColor(Color.WHITE);
paint.setStrokeWidth(5);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(30, 100, 150, 200, paint);
}
}
}
這裏是我的main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView android:src="@drawable/image" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1"></ImageView>
</LinearLayout>
如何顯示在速度表的頂部針?任何幫助將不勝感激。
而不是使用 「canvas.drawLine(30,100,150,200,油漆);」 ,我將使用類似「canvas.drawLine(startx,starty,stopx,stopy,paint);」在我的主要活動中計算startx,starty,stopx和stopy。如果我將DrawView分解爲一個單獨的類文件,那麼如何使用我的主要活動中計算的值來更新DrawView的drawLine中使用的座標? – Bill
我編輯了我的問題,以顯示如何獲得對DrawView實例的引用。此時,您可以將信息傳遞給它。 – elevine
謝謝!它現在有效。 – Bill