在屏幕上绘图,我需要表面视图吗?

时间:2012-04-12 20:37:31

标签: android android-layout

我总是对此感到困惑,我需要一个关于你如何做的指针。如果创建具有多个imagesview和文本视图的xml布局。并且假设我想在两个图像之间画线并沿着这条线移动图像。我该如何绘制这条线?我知道我可以获得两个图像视图的位置,所以我有x1,y1和x2,y2。我的问题是绘图。

我是否需要表面视图以获得绘图功能并在屏幕上沿着线加载位图?

如果是,那么我想我应该总是表面视图填充屏幕和顶部的视图只是因为我需要绘制哪个看起来有点不对?

如果没有(我希望这是答案),那么如何仅使用X,Y值绘制线条或在屏幕上加载位图?

我希望我能够解释我的困惑 感谢

编辑:事实上,我想要更好地解释我的困惑。 使用xml布局创建活动时,您可以使用

onCreate (){
setContentView(R.id.layout)
}

但是当您有关于绘图视图的活动时,您会有类似

的内容
onCreate (){
SurfaceView v = new Surfaceview(this);
setContentView(v)
}

我的问题是我们必须将内容布局设置为EITHER xml布局或绘图区域。如果我想将其设置为我的xml布局,同时我可以在屏幕上的任何位置绘制(在图像视图,空白区域,TextViews ..等等)

看我的问题?

1 个答案:

答案 0 :(得分:0)

这取决于您期望的结果是什么以及您需要多大的灵活性。您可以查看此Android Animations tutorial(该网站在发布时已关闭但谷歌已将其缓存)。

如果您不需要灵活性,那么对于您的广告系列,您可以在xml中创建一个View,其中android:background填充颜色和大小可以使其看起来像您希望的那样。然后,您可以在位图的Animation上使用ImageView将其翻译成行,并使用所述Animation上的监听器在必要时显示/隐藏各种Views Animation

的开头或结尾

如果您需要灵活性,SurfaceView可能是您最好的选择。