4

我正在尝试将线性布局内的视频视图拉伸到全屏,但它与设备屏幕不匹配。这是我的代码

<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 的空间。线性布局也没有扩展到全屏。我希望它在宽度上填满屏幕。

4

4 回答 4

7

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

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

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

于 2014-09-03T22:10:18.580 回答
5

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

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

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

于 2013-03-18T10:34:13.507 回答
2

获取布局的运行时高度和宽度并将其设置为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
于 2013-03-18T06:59:59.603 回答
0

尝试使用fill_parentinandroid: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>
于 2013-03-21T04:15:38.913 回答