要避免VideoView溢出其容器,在Android Studio中,可以使用以下代码示例来解决问题:
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoView = findViewById(R.id.video_view);
// 设置视频路径
Uri videoUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video);
videoView.setVideoURI(videoUri);
// 创建MediaController对象,并将其与VideoView关联
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
// 开始播放视频
videoView.start();
}
}
在这个示例中,VideoView被包裹在一个FrameLayout中,并与MediaController关联起来。这样,VideoView就不会溢出其容器了。