如何实现Android VideoView撑满全屏
在Android开发中,如果你希望使用VideoView播放视频并让它撑满全屏,那么你需要遵循几个简单的步骤。本篇文章将会为你描述实现这个目标的具体流程,并提供详细的代码示例,确保你能够轻松理解和实现这一功能。
实现流程
以下是实现“Android VideoView撑满全屏”的步骤:
| 步骤 | 描述 | 
|---|---|
| 1 | 创建一个新的Android项目 | 
| 2 | 在布局文件中添加VideoView组件 | 
| 3 | 在Activity中初始化VideoView | 
| 4 | 设置VideoView为全屏 | 
| 5 | 播放视频 | 
步骤详细介绍
第一步:创建一个新的Android项目
首先,打开Android Studio并创建一个新的Android项目。你可以为项目命名,例如“FullscreenVideoPlayer”。确保选择"Empty Activity"作为模板。
第二步:在布局文件中添加VideoView组件
接下来,打开activity_main.xml布局文件,并添加一个VideoView组件。以下是代码示例:
<RelativeLayout xmlns:android="
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
        
</RelativeLayout>
注释:
RelativeLayout:相对布局,可以让子视图以相对位置显示。VideoView:用于播放视频的视图。我们将其宽高都设为match_parent以占满整个屏幕。
第三步:在Activity中初始化VideoView
然后,在你的MainActivity中,找到videoView并初始化。这里是你的MainActivity.java代码:
import android.net.Uri;
import android.os.Bundle;
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
        videoView = findViewById(R.id.videoView);
        
        // 设置视频路径
        String videoPath = "android.resource://" + getPackageName() + "/" + R.raw.sample_video;
        Uri uri = Uri.parse(videoPath);
        
        // 将视频路径设置到VideoView中
        videoView.setVideoURI(uri);
    }
}
注释:
findViewById(R.id.videoView):找到布局中的VideoView组件。Uri uri = Uri.parse(videoPath):解析视频的URI地址。videoView.setVideoURI(uri):将该URI设置到VideoView中以便播放。
第四步:设置VideoView为全屏
为了让VideoView完整地显示在屏幕上,我们需要在Activity中添加一些代码。添加下面的方法来实现全屏效果:
@Override
protected void onResume() {
    super.onResume();
    
    // 设置为全屏显示
    getWindow().getDecorView().setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    
    // 开始播放视频
    videoView.start();
}
注释:
getWindow().getDecorView().setSystemUiVisibility(...):设置系统UI的可视性,以实现全屏效果。videoView.start():开始播放视频。
第五步:播放视频
确保在应用程序的资源文件夹res/raw/中添加一个视频文件,命名为sample_video.mp4或其他相应名称。
// 在视频准备好时调用
videoView.setOnPreparedListener(mediaPlayer -> {
    mediaPlayer.setLooping(true); // 设置循环播放
});
注释:
setOnPreparedListener:设置当VideoView准备好播放时被调用的监听器。
旅行图(Journey)
以下是完成这个项目的旅行图。每个步骤为你提供了清晰的视觉化体验。
journey
    title 视频播放全屏项目
    section 创建项目
      创建新的Android项目: 5: 3
    section 布局创建
      在活动中创建布局: 4: 2
    section VideoView初始化
      初始化VideoView: 5: 4
      设置视频路径: 5: 3
    section 设置全屏
      调整UI显示: 5: 3
    section 播放视频
      添加视频监听: 4: 2
类图(Class Diagram)
以下是项目中使用的类图,有助于你理解整个结构。
classDiagram
    class MainActivity {
        +VideoView videoView
        +onCreate(Bundle savedInstanceState)
        +onResume()
    }
结尾
通过上述步骤,你成功实现了一个可以在Android应用中全屏播放视频的VideoView。记得在实际应用中根据需要调整视频源和播放设置。希望这篇文章能帮助你在Android开发的旅程中迈出坚实的一步!如果你有任何问题,请随时提问。Happy coding!









