gpt4 book ai didi

android - 在 main.xml 之上添加 onDraw 可绘制对象

转载 作者:行者123 更新时间:2023-11-30 04:35:00 25 4
gpt4 key购买 nike

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

考虑一个模拟车速表。在 main.xml 中,我有一个 ImageView,它显示速度计减去指针的图像。对于指针,我想以编程方式绘制一条线并将其添加到仪表图像的顶部。

这是我的 Activity 和查看代码:

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>

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

最佳答案

一个选择是将 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

关于android - 在 main.xml 之上添加 onDraw 可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7004879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com