我想让应用程序绘制几行来显示用户方向,方法是使用背景图像作为基本视图,然后应用程序在背景ImageView
之上的另一层“绘制”它。为了实现目标,还要在特定的位置设置几条线,所以它必须有几层太正确?
我找到了使用XML
<View
android:id="@+id/line"
android:layout_width="2dip"
android:layout_height="300dip"
android:background="#000000"
/>
但该代码不会显示位置,也不会以分层形式显示。
更新: 我想通过绘图来显示线条,而不是通过另一张图片
答案 0 :(得分:1)
您可以制作自定义SurfaceView
课程,将图片设置为背景,并在Canvas
上绘制线条。如果我正确地理解了你想要达到的目标,那可能是最简单的方法。
SurfaceView
是来自Android框架的小部件。扩展它以制作您自己的:MySurfaceView extends SurfaceView
。然后覆盖public void onDraw(Canvas canvas)
,如android_user77所述。使用此画布对象进行绘制。最后,在布局xml中添加您的类:
<com.your.app.MySurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/my_image" />
有关使用SurfaceView
代替View
的原因的详细信息:
Difference between SurfaceView and View?
答案 1 :(得分:0)
您可以通过覆盖onDraw方法
来扩展视图并进行绘制答案 2 :(得分:0)
使用FrameLayout创建许多&#34;层&#34;。我不认为你想在视图上画任何东西。所以不要使用onDraw(),SurfaceView ......
代码如下:
<FrameLayout ...>
<ImageView id="@+id/layer1"...>
<ImageView id="@+id/layer2"...>
</FrameLayout>