2011-05-19 33 views
0

我並不擔心目前的平板電腦,只是安卓手機。當我使用LG電話開發時,我有一些收入。我有一個框架佈局,其中VideoViewWebView如何在不包括平板電腦的所有設備上實現此佈局

我的XML文件定義了特定像素的寬度和高度,並且在我的一臺設備上測試的效果很好。我在另一臺有更大屏幕的設備上試了一下,他們沒有像我的手機那樣填滿窗戶。

我想知道如何用視頻和圖像填充屏幕的上半部分。我試過layout_widthmatch_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> 

顯然我不能在這裏使用的像素數量,所以我有哪些選擇?謝謝,我希望我的問題很清楚。

回答

1

你爲什麼要用FrameLayout?這是爲了當你想疊加視圖。在這種情況下,一個簡單的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> 
+0

我很確定我需要使用FrameLayout。我刪除了位於VideoView和WebView之上的ListView。它通過菜單按鈕打開。我刪除了它,因爲我不認爲它與問題有關,但顯然我錯了。所以說,我想我是重疊的意見。 – Ronnie 2011-05-19 22:30:12

+0

我想我找到了答案。我保持我的佈局相同,但不是'320px'我做了'320dip',這似乎解決了所有不同分辨率的問題 – Ronnie 2011-05-19 22:40:04

+1

這不適用於所有手機。如果你需要FrameLayout來做其他的事情,那麼不要把這兩個項目放在FrameLayout的LinearLayout中。 – 2011-05-19 22:43:08

2

使用垂直線性佈局,併爲兩個視圖指定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>