如何在除平板电脑之外的所有设备上实现此布局

时间:2011-05-19 22:00:16

标签: android android-framelayout

此刻我并不担心平板电脑,只是Android手机。我有一些付费,因为你去用我开发的LG手机。我的框架布局中包含VideoViewWebView

我的XML文件定义了特定像素的宽度和高度,并且可以在我的一台设备上进行测试。我在另一台屏幕较大的设备上试了一下它们就像在我的手机上一样不会填满窗户。

我想知道如何用我的视频和下半部分和图像填充屏幕的上半部分。我尝试layout_width作为match_parent,但后来我不确定如何定义高度。这是我想在所有设备上实现的布局。

ss

和我的layout.xml

<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/mobile_vforum_bg"
    >
    <VideoView 
        android:id="@+id/vidPlayer"
        android:layout_width="320px"
        android:layout_height="240px">
    </VideoView>
    <WebView 
        android:id="@+id/slideHolder"
        android:layout_width="320px" 
        android:layout_height="240px"
        android:layout_gravity="bottom">
     </WebView>
</FrameLayout>

显然我不能在这里使用像素数量,那么我的选择是什么?谢谢,我希望我的问题很清楚。

2 个答案:

答案 0 :(得分:2)

使用垂直linearlayout,并为两个视图指定layout_weight="1"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/mobile_vforum_bg">
    <VideoView 
        android:id="@+id/vidPlayer"
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    </VideoView>
    <WebView 
        android:id="@+id/slideHolder"
        android:layout_weight="1"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
     </WebView>
</LinearLayout>

答案 1 :(得分:1)

为什么使用FrameLayout?这适用于您想要叠加视图的时间。在这种情况下,带有orientation =“vertical”的简单LinearLayout应该可以解决这个问题。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/mobile_vforum_bg"
    >
    <VideoView 
        android:id="@+id/vidPlayer"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    </VideoView>
    <WebView 
        android:id="@+id/slideHolder"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
     </WebView>
</LinearLayout>