小编cor*_*rey的帖子

Android WebView中的Flash - 分层问题

我想在包含flash的android WebView中设置交互式按钮.作为测试,我设置了一个HTML来加载闪存,设置x/y大小.

public class webz extends WebView {
private Drawable image;
public webz(Context context, AttributeSet attrs) {
    super(context, attrs);
    image=context.getResources().getDrawable(R.drawable.icon);
    getSettings().setPluginsEnabled(true);
}
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    image.setBounds(100, 300, 150, 450);
    image.draw(canvas);
}
Run Code Online (Sandbox Code Playgroud)

}

我设置了一个测试图像,它将自己覆盖在闪光灯的一半上,一半覆盖在未使用的画布上.一旦加载,flash将加载到画布上,只留下HTML上的部分.

链接到屏幕截图

这个问题的答案表明,adobe的flash播放器在webview中创建了一个surfaceview.我认为这是分层问题的原因,但我不知道如何克服它.

有谁知道如何覆盖这个?按钮还必须将按键事件发送到闪光灯(如按屏幕按钮,然后按A键发送到闪光灯).如果你知道如何做到这一点,那将非常有帮助

flash android webview ondraw

8
推荐指数
1
解决办法
1339
查看次数

Android WebView中的Flash - 如何自动设置全屏?

我正在将Flash SWF加载到Android WebView中.

我希望SWF立即全屏和专注.

处理flash的类名是com.adobe.flashplayer.FlashPaintSurface.看着日志,当我手动全屏显示闪光灯时,它会调用com.adobe.flashplayer.FlashPaintSurface.toggleFullScreen().

我的问题的第一部分是:如何手动为Flash SWF调用该方法?

请注意,对于嵌入了闪存的webview,我似乎能够正确地全屏显示它的唯一方法(使用Flash的surfaceview全屏而不是闪存显示在其上方webview view)是用两个手指触摸屏幕直到界面弹出在屏幕的顶部,并没有可靠地发生.

对于焦点,我在我的webview类中调用:

@Override 
protected boolean drawChild (Canvas canvas, View child, long drawingTime) {

    if (child.getClass().getName().equals("com.adobe.flashplayer.FlashPaintSurface")) {
        child.requestFocus();
    }
    return super.drawChild(canvas, child, drawingTime);
}
Run Code Online (Sandbox Code Playgroud)

这并没有像我想象的那样设定焦点.虽然我假设,如果正确完全屏蔽,FlashPaintSurface应该给自己的焦点.但如果第一部分不可行,我想至少不必在启动时点击它来关注SWF.

请注意我动态执行此操作,而不是调用我自己创建的SWF,因此无法使用Actionscript解决此问题.

flash android fullscreen webview

8
推荐指数
1
解决办法
5145
查看次数

标签 统计

android ×2

flash ×2

webview ×2

fullscreen ×1

ondraw ×1