2010-09-24 63 views
3

alt text如何在android中爲各種屏幕布局支持?

alt text

我正在開發使用GridView控件庫視圖,在小屏幕上我的佈局設計,固定得非常好,但大屏幕沒有我的設計,在大屏幕有一定的空間吼叫「加載更多圖片」按鈕是指fig2,我怎麼能解決這個問題,我的清單文件中添加此行的支持不同的屏幕,請給我一些示例代碼..

<supports-screens android:largeScreens="true" 
android:normalScreens="true" android:smallScreens="true" 
android:anyDensity="false" /> 

和我的XML代碼

<?xml version="1.0" encoding="utf-8"?> 
<merge android:layout_width="wrap_content" android:layout_height="340dp" xmlns:android="http://schemas.android.com/apk/res/android"> 
<LinearLayout android:id="@+id/LinearLayout01" 
android:layout_width="fill_parent" 
android:layout_height="335dp" android:orientation="vertical" 
android:background="@color/black"> 


<GridView 
        android:id="@+id/jr_lookbook_grid" android:layout_width="fill_parent" 
        android:layout_height="335dp" android:numColumns="4" 
        android:verticalSpacing="10dp" android:horizontalSpacing="10dp" 
        android:columnWidth="90dp" android:stretchMode="columnWidth" 
        android:adjustViewBounds="true" 
        android:background="@drawable/shape" 
        android:gravity="center" android:layout_weight="1"/> 
</LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayout0209_img" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:gravity="center" 
    android:paddingTop="311dp"> 
     <Button android:id="@+id/click" 
       android:background="#AA000000" 
        android:text="Load More Pictures..." 
        android:textColor="@color/white"     
        android:layout_width="fill_parent" android:layout_height="30dp"/> 
    </LinearLayout> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/LinearLayout02_img" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_gravity="center" 
    android:layout_alignParentBottom="true" 
    android:background="@color/black" 
       android:layout_alignParentLeft="true"> 
    <WebView 
     android:id="@+id/webview" 

     android:layout_width="fill_parent" 

     android:layout_height="fill_parent"   
     android:scrollbars="none" /> 
    <ImageView android:id="@+id/ImageView01" 
    android:layout_gravity="center_horizontal" 
    android:scaleType="centerInside" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:adjustViewBounds="true"> 
</ImageView> 
    </LinearLayout> 
    <LinearLayout android:id="@+id/LinearLayout02"  android:background="#AA000000" 
     android:layout_width="400px" 
     android:layout_height="50dp" 
     android:layout_gravity="bottom"> 
<Button 
    android:id="@+id/back 
       android:layout_height="wrap_content" 
       android:background="@drawable/back1" 
       android:layout_alignParentRight="true" 
       android:layout_marginLeft="10dp"/
       <Button 
        android:background="@drawable/forward5" 
       android:id="@+id/next" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:layout_alignParentRight="true" 
       android:layout_marginLeft="150dp"/> 
        <Button 
        android:background="@drawable/menushare" 
       android:id="@+id/photoshare" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:layout_alignParentRight="true" 
       android:layout_marginLeft="20dip" /> 
</LinearLayout> 
</merge> 

感謝所有

回答

3

你必須寫對大屏幕的XML代碼。我認爲你保留你的xml文件在res/layout文件夾中。如果是這樣,你可以保留三個文件夾來區分res/layout-small,res/layout,res/layout-long等各種屏幕。在這三個文件夾中,您可以爲各種屏幕類型設置不同的對齊方式。對於中等屏幕,讓你的XML代碼的佈局,爲小屏幕 - 保持在佈局小等,並設置

<supports-screens 
    android:smallScreens="true" 
    android:normalScreens="true" 
    android:largeScreens="true"   
    android:anyDensity="true" /> 

這些線在你的AndroidManifest.xml

+0

Thanx。證明對我有幫助。 – Freelancer 2012-12-16 06:25:53