我是Android开发的新手,我在弄清楚如何在图像上添加绘制线时遇到了问题。我可以画线并显示它,或者我可以显示图像,但我无法弄清楚如何同时显示两者。
考虑一个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>
如何在速度计顶部显示针头?任何帮助将不胜感激。
答案 0 :(得分:1)
一个选项是将DrawView分解为单独的类文件。然后,您可以将其添加为main.xml的LinearLayout中的元素。
致电setContentView(R.layout.main);
后,您可以通过以下方式获取活动中对DrawView实例的引用:
DrawView dv = (DrawView)findViewById(R.id.drawView); //use the actual id you define in your layout xml