2013-04-24 87 views
0

我有三星Galaxy S2和三星Note 10.1。我首先在S2上創建,現在我嘗試在Note10.1上運行,但它的屏幕尺寸不同。我需要使note10.1的屏幕看起來像S2。如何設置4'和10'之間的屏幕尺寸

我試圖把大圖片放入xhdpi,但它使用hdpi中的圖片,在每個屏幕大小。

銀河S2

enter image description here

注10.1

enter image description here

這是我的XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#000000" 
android:orientation="vertical" > 


<project.kmutt.Action_bar_view 
    android:id="@+id/actionBar" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="20dp" 
    android:orientation="vertical" > 
</LinearLayout> 

<GridView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gridview" 
    android:layout_width="fill_parent" 
    android:layout_height="979px" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_weight="0.75" 
    android:columnWidth="90px" 
    android:numColumns="3" 
    android:gravity="center" 
    android:horizontalSpacing="10px" 

    android:stretchMode="columnWidth" 
    android:verticalSpacing="30px" > 
</GridView> 

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|center_horizontal" 
    android:shrinkColumns="*" 
    android:stretchColumns="*" > 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="#000000" > 

     <ImageButton 
      android:id="@+id/imageButton1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="#000" 
      android:src="@drawable/home" /> 

     <ImageButton 
      android:id="@+id/imageButton2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="#000" 
      android:gravity="center_horizontal" 
      android:src="@drawable/web" /> 

     <ImageButton 
      android:id="@+id/imageButton3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="#000" 
      android:gravity="center_horizontal" 
      android:src="@drawable/setting" /> 

     <ImageButton 
      android:id="@+id/imageButton4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="#000" 
      android:gravity="center_horizontal" 
      android:src="@drawable/about" /> 
    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:text="Home" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:text="Website" /> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:text="Setting" /> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_horizontal" 
      android:text="About" /> 
    </TableRow> 
</TableLayout> 

</LinearLayout> 

回答

1

兩個尺寸之一創建一個不同的佈局文件夾。這些是您可以創建的可能的文件夾結構。

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

res/drawable-mdpi/my_icon.png  // bitmap for medium density 
res/drawable-hdpi/my_icon.png  // bitmap for high density 
res/drawable-xhdpi/my_icon.png  // bitmap for extra high density 

Android將根據它運行在什麼設備查找my_layout.xml文件中正確的文件夾。如果無法找到特定的文件夾(例如layout-xlarge),它將使用默認res/layout/文件夾中的my_layout.xml文件。

你可以找到關於此here

的詳細信息,並避免使用LinearLayouts過於頻繁。如果爲多個屏幕創建一個佈局文件,RelativeLayouts會更好。

+0

+1。這個答案几乎是完美的,只記得layout-small,-large等不是最佳實踐,你應該根據寬度和/或高度來定義類別。查看Android開發人員指南以獲得更好的洞察 – 2013-04-24 15:26:53

+0

感謝您的幫助 – GoftZzz 2013-04-28 12:40:52