私はAndroid開発の初心者です。画像の上に描画された線を追加する方法がわかりません。私は線を描いてそれを表示することができます、または私は画像を表示することができますが、私は同時に両方を表示する方法を把握することはできません。main.xmlの上にonDrawドロアブルを追加してください
anolog speedometer guageを考えてみましょう。 main.xmlには、Speedometerから針を引いた画像を表示するImageViewがあります。針については、プログラムで線を描き、それをゲージ画像の上に追加する必要があります。ここで
は私の活動とビューのコードです:
<?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>
私はスピードメーターの上に針を表示するにはどうすればよい:
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ファイルのですか?どんな助けでも大歓迎です。
を代わりに使用して "canvas.drawLine(30、100、150、200、塗料);"私は "canvas.drawLine(startx、starty、stopx、stopy、paint);のようなものを使用します。私の主な活動でstartx、starty、stopx、stopyが計算されています。 DrawViewを別のクラスファイルに分割した場合、DrawViewのdrawLineで使用される座標を更新するために、メインアクティビティで計算された値を使用するにはどうすればよいですか? – Bill
私はあなたのDrawViewインスタンスへの参照を取得する方法を示すために私の質問を編集しました。その時点で、情報を渡すことができます。 – elevine
ありがとう!それは今働く。 – Bill