调整视频大小时出现Android错误

时间:2012-02-10 10:13:28

标签: android resize android-videoview

我在main.xml文件的FrameLayout中使用VideoView。 我希望能够动态调整VideoView的大小,以最小化/隐藏它 屏幕。我不希望改变它的可见性,因为它会导致运行我的游戏的另一个线程出现问题/崩溃。

这是代码

 VideoView vv;
 ViewGroup.LayoutParams params;

 vv = (VideoView) findViewById( R.id.gmVideo );
 params = vv.getLayoutParams();
 params.width = gm.StoreX;
 params.height = gm.StoreY;
 vv.setLayoutParams(params);

我收到的错误信息是

Only the original thread can touch this view

有没有办法在代码中修改VideoView维度而不会破坏系统中断。 或者是否只有活动或其他代码中的某些位置可以在不违反访问限制的情况下进行修改。

1 个答案:

答案 0 :(得分:0)

尝试使用这种方式,

void temp()
    {
        runOnUiThread(new Runnable() {

            public void run() {
                vv = (VideoView) findViewById( R.id.gmVideo );  
                params = vv.getLayoutParams();  
                params.width = gm.StoreX;  
                params.height = gm.StoreY;  
                vv.setLayoutParams(params);  
            }
        });
    }

还阅读when and why to use runOnUIThread() here ..