import tv.danmaku.ijk.media.widget.media.IjkVideoView;
public class VideoPlayerActivity extends AppCompatActivity {
private IjkVideoView ijkVideoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_player);
ijkVideoView = findViewById(R.id.video_view);
// 设置视频源
ijkVideoView.setVideoPath("your_video_path_here");
// 设置全屏按钮监听器
findViewById(R.id.fullscreen_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleFullscreen();
}
});
}
private void toggleFullscreen() {
if (ijkVideoView.isFullscreen()) {
// 退出全屏
ijkVideoView.setFullscreen(false);
// 自定义的布局操作,恢复原来的布局
// ...
} else {
// 进入全屏
ijkVideoView.setFullscreen(true);
// 自定义的布局操作,设置全屏布局
// ...
}
}
}
在这个示例中,我们假设你有一个名为 activity_video_player
的布局文件,其中包含一个 IjkVideoView
和一个用于全屏切换的按钮。当用户点击全屏按钮时,toggleFullscreen
方法会被调用,IjkVideoView 会在全屏和非全屏之间切换。
请注意,自定义的布局操作需要根据你的布局和需求来实现。例如,你可能需要隐藏标题栏、操作栏或调整视频显示的布局参数。
确保在你的 AndroidManifest.xml 中添加必要的权限,例如:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
以及在你的 build.gradle 文件中添加 IjkVideoView 所依赖的库:
dependencies {
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
// 其他平台的依赖可以根据需要添加
}