如何以编程方式修改videoview的宽度

时间:2013-06-12 10:53:39

标签: android android-videoview

我在活动中创建了一个视频视图,当活动开始时,我想修改视频的高度和宽度。怎么做?

这是我的代码。我试过简单的布局参数和fram布局没有任何作用对我来说

            final VideoView vvVideos = (VideoView) rootView.findViewById(R.id.videoView);
            MediaController mediacontroller = new MediaController(ctx);
        mediacontroller.setAnchorView(vvVideos);
        String videoFileName = videos.get(position);
            Uri video = Uri.parse("android.resource://" + packageName +"/"+R.raw.sample);
            vvVideos.setMediaController(mediacontroller);
            //LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT,150);
            vvVideos.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,150));
            vvVideos.setVideoURI(video);
            vvVideos.requestFocus();
            vvVideos.setOnPreparedListener(new OnPreparedListener() {
                // Close the progress bar and play the video
                public void onPrepared(MediaPlayer mp) {
                    //pDialog.dismiss();
                    vvVideos.start();
                }
            });    

解决方案

此代码适用于我....

            LayoutParams params=vvVideos.getLayoutParams();
            params.height=150;
            vvVideos.setLayoutParams(params);

2 个答案:

答案 0 :(得分:4)

试试这个,它对我有用

VideoView video=(VideoView) findViewById(R.id.videoView1);
        video.setVideoURI(setVideoUri());
        video.setVisibility(View.VISIBLE);
        RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)video.getLayoutParams();
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT, 0);
        layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, 0);
        video.setLayoutParams(layoutParams);

答案 1 :(得分:0)

VideoView videoview=(VideoView) findViewById(R.id.videoView1);
videoview.setVideoURI("yourURI");
videoview.setLayoutParams(new FrameLayout.LayoutParams(550,550));

LinearLayout linearLayout = (LinearLayout)findViewById(R.id.info)
linearLayout.addView(videoview);