Android全宽视频视图

问题描述 投票:3回答:4

我试图将线性布局内的视频视图拉伸到全屏,但应用程序不会将视频视图的宽度拉伸到Android屏幕。这是我的代码

<LinearLayout
     android:id="@+id/linearLayout1"
     android:layout_width="fill_parent"
     android:layout_height="720dp"
     android:layout_alignParentBottom="true"
     android:layout_alignParentLeft="true"
     android:layout_alignParentTop="true"
     android:layout_alignParentRight="true"
     android:layout_gravity="fill_horizontal"
     android:layout_marginTop="140dp" >

<VideoView
    android:id="@+id/videoView1"
    android:layout_width="fill_parent"
    android:layout_height="720dp" />

</LinearLayout>

左右各有10到15 dp的空间。此外,线性布局不会拉伸到全屏。我想让它以宽度填充屏幕。

android layout video
4个回答
4
投票

您可以使用显示矩阵获取屏幕的当前高度和宽度

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int h = displaymetrics.heightPixels;
int w = displaymetrics.widthPixels;

现在使用这个高度和宽度为您的视频视图:)以编程方式使用它而不是硬编码像720dp和所有。 getWidth()getHeight()被谷歌弃用


4
投票

实际上没有必要以编程方式设置宽度

android:layout_width="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"

应该足以用全宽视频视图填充容器。并使用match_parent而不是fill_parent。希望这有助于某人。


1
投票

获取布局的运行时高度和宽度,并在VideoView中设置它

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();                  
//videoview.setLayoutParams(new FrameLayout.LayoutParams(550,550));                    
videoview.setLayoutParams(new FrameLayout.LayoutParams(width,height));

//FrameLayout : write your  layout name which you used

0
投票

尝试在fill_parent中使用android:layout_height而不是使用特定的高度。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true"
    android:layout_gravity="fill_horizontal">

    <VideoView
        android:id="@+id/videoView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>
© www.soinside.com 2019 - 2024. All rights reserved.