【问题标题】:Android: how to add scroll for surfaceview?Android:如何为surfaceview添加滚动?
【发布时间】:2011-12-16 07:01:23
【问题描述】:

我正在绘制一些图形,我想为其添加滚动条。但是使用表面视图如何以编程方式添加滚动?

【问题讨论】:

    标签: android android-layout surfaceview


    【解决方案1】:

    SurfaceView 是一个非常特殊的组件,不容易与其他组件混合使用。主要原因在于它的工作原理:当你使用 SurfaceView 时,将创建一个新窗口(默认在 Activity 后面),并且 SurfaceView 中的所有渲染都将转到该窗口。 SurfaceView 也会在 Activity 中“画一个洞”,因此它后面的窗口将是可见的。

    SurfaceView 需要将窗口位置与它的位置同步,这并不完美。例如,如果您将 SurfaceView 放在可以滚动的东西中,则窗口将不会滚动(至少在我上次尝试时没有滚动,大约是 Froyo 时间)。

    请提供更多有关您尝试执行的操作的信息。如果您只是想创建一个自定义组件,只需子类化 View 并覆盖 onDraw(Canvas) 会更容易。

    【讨论】:

    • @Pal:这是否意味着我不能在屏幕底部、表面视图顶部添加横幅广告视图?
    • @Pal:谢谢你的回复。我是安卓新手。我正在开发简单的应用程序,用户可以在其中选择颜色并且应该能够绘制,最后它将保存为图像。但是,如果我按照你所说的那样使用画布,我将面临以下问题......“首先我会通过选择绿色来绘制一些线条。接下来如果我选择红色,那么我之前绘制的任何东西(例如:绿色颜色)那条线也像那样变成红色”。所以,我使用下面的例子sites.google.com/site/tutorialsformobileprogramming/…
    • @Pal:但是如果我使用上面的示例,我将无法保持滚动,如果我使用画布,我可以继续滚动,但我在更改颜色时遇到了问题。你能告诉我如何在使用画布绘图时更改颜色。
    • 很遗憾,没有看到您的代码,我不明白问题出在哪里。
    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多