SurfaceView全屏铺满的方法

拼搏现实的明天。 2022-12-20 02:25 312阅读 0赞

SurfaceView用来播放视频时,父view设定了固定高度,那全屏时不同的设备,有的设备可能就出现白边,无法铺满。如

  1. <RelativeLayout
  2. android:layout_width="match_parent"
  3. android:layout_height="300dp"
  4. android:gravity="center_horizontal">
  5. <SurfaceView
  6. android:layout_width="match_parent"
  7. android:layout_height="match_parent"
  8. />

常规做法是强制横屏,隐藏状态栏导航栏,隐藏其他元素,然后手动设置SurfaceView占满。如

RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);

player.setLayoutParams(layoutParams);

但是到平板电脑等设备上就出现有白边的情况。

这个时候需要手动指定父类的高度或者宽度,suifacebview就自动全屏铺满了。如:

DisplayMetrics dm = new DisplayMetrics();

android.view.ViewGroup.LayoutParams parView =cameraMainLayout.getLayoutParams();
parView.height =dm.widthPixels;
cameraMainLayout.setLayoutParams(parView);

发表评论

表情:
评论列表 (有 0 条评论,312人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CSS--高度

    原文网址:[CSS--高度铺满\_IT利刃出鞘的博客-CSDN博客][CSS--_IT_-CSDN] 其他网址 [div 自适应高度 自动填充剩余高度 - 庞国明 -