在纵向上垂直居中 VideoView

Posted

技术标签:

【中文标题】在纵向上垂直居中 VideoView【英文标题】:Center vertically a VideoView on portrait 【发布时间】:2017-11-06 08:41:59 【问题描述】:

有没有办法让 VideoView 在纵向活动中居中。我尝试了很多选项,例如:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_gravity="center"
android:layout_ >

<VideoView
    android:id="@+id/videoView"
    android:layout_
    android:layout_
    android:layout_gravity="center|center_vertical" />
</FrameLayout>

这是我开始活动的方式:

    val intent = Intent(this, VideoActivity::class.java)
    startActivity(intent)

这是活动中的代码:

class VideoActivity : AppCompatActivity() 

override fun onCreate(savedInstanceState: Bundle?) 
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_video)

    val uriPath = "android.resource://" + packageName + "/raw/ad"
    val uri = Uri.parse(uriPath)

    videoView.setVideoURI(uri)
    videoView.requestFocus()
    videoView.start()

   


它一直与顶部对齐:

【问题讨论】:

使用RelativeLayout而不是FrameLayout并在VideoView标签中添加这个属性“android:layout_centerInParent="true"”它会解决你的问题 ***.com/questions/1957831/… 【参考方案1】:

您可以使用下面的代码。

<LinearLayout
    android:layout_
    android:layout_
    android:gravity="center">
    <VideoView
        android:id="@+id/videoView"
        android:layout_
        android:layout_ />
</LinearLayout>

它的工作完美。

【讨论】:

你让我免于轻微头痛【参考方案2】:

试试这个,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>

    <VideoView
        android:id="@+id/videoView"
        android:layout_
        android:layout_
        android:layout_centerInParent="true" />
</RelativeLayout>

【讨论】:

在我的情况下它的作品,如果可能的话,请提供更多的代码与您的视频网址

以上是关于在纵向上垂直居中 VideoView的主要内容,如果未能解决你的问题,请参考以下文章

PHPWordPHPWord动态生成表格table | 单元格横向合并单元格纵向合并单元格边框样式单元格垂直水平居中

word文档里面的文字垂直方向上如何居中?

表格中的文字怎样垂直居中

纵向居中

css html 如何将图片img标签 水平居中 垂直居中 和水平垂直居中

如何在页面上垂直居中div? [复制]