WebView下的Unclickable项目

时间:2012-11-06 16:39:57

标签: java android air air-native-extension

我在Adobe AIR中有这个测试应用程序,使用Android ANE插入VideoView来观看视频。问题是,一旦添加了视频,屏幕的其余部分就无法点击。

以下是用于插入VideoView的代码:

// File:  VideoPlayerTestActivity.java
protected void onCreate(Bundle savedInstance) 
{
    super.onCreate(savedInstance);  // always call this

    VideoView videoHolder = new VideoHolder(this);
    this.programaticallyAddToLayout(videoHolder);

    // Add the media controllers at bottom of video, instead of screen bottom
    videoHolder.setOnPreparedListener(new OnPreparedListener() {
        public void onPrepared(MediaPlayer mp) {
            mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() {
                public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
                    MediaController mc = new MediaController(VideoPlayerTestActivity.this);
                    videoHolder.setMediaController(mc);
                    mc.setAnchorView(videoHolder);
                }
            });
        }
    });
    videoHolder.setMediaController(new MediaController(this));
    videoHolder.setVideoURI( Uri.parse(mediaURL) );
    videoHolder.requestFocus();
    videoHolder.start();
}

这是方法programaticallyAddToLayout()的代码,它创建应该在XML中的布局。 (我没有使用xml布局文件,由于某些原因仍然无法解决,the app cannot find the xml file):

private void programaticallyAddToLayout( VideoView videoView ) 
{
    FrameLayout layout = new FrameLayout(this);
    FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(800, 600);
    layoutParams.gravity = Gravity.CENTER;
    layout.setId(1);
    layout.setLayoutParams(layoutParams);

    videoView.setId(2);
    layout.addView( videoView, layoutParams );
    this.setContentView( layout );
}

以下是该应用的屏幕抓图,供参考:

screengrab

3 个答案:

答案 0 :(得分:0)

将背景放在说红色的视频视图上进行测试。视频或布局可能会覆盖您的按钮,如果clickable = true,则事件不会传播到该位置并按下按钮。

答案 1 :(得分:0)

有关如何解决此问题的一些事情。首先,为什么要在requestFocus()上拨打VideoView?这可能会产生不利影响。

如果这会将您的VideoView置于其他观看之后,您可以将其移至前面,如下所示:

videoview.setZOrderMediaOverlay(false);

答案 2 :(得分:0)

我在Android 2.1和2.2中遇到过这个问题,但是当我移植到2.3

时却没有