1

我是 Android 开发新手,在弄清楚如何在图像顶部添加画线时遇到问题。我可以画线并显示它,也可以显示图像,但我不知道如何同时显示两者。

考虑一个模拟速度计。在 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>

如何在车速表顶部显示指针?任何帮助将不胜感激。

4

1 回答 1

1

一种选择是将 DrawView 分成一个单独的类文件。然后,您可以将它作为一个元素添加到您的 main.xml 的 LinearLayout 中。

调用后setContentView(R.layout.main);,您可以通过执行以下操作在 Activity 中获取对 DrawView 实例的引用:

DrawView dv = (DrawView)findViewById(R.id.drawView); //use the actual id you define in your layout xml
于 2011-08-10T01:40:53.743 回答