2013-06-28 106 views
5

我使用模擬器大小的平板電腦佈局從xml製作了佈局。但是,當在Android手機設備上的相同佈局打開,然後每件事情扭曲,所以我可以做一個XML設計,可以在設備手機和平板電腦也很好地工作。請建議我,感謝您的回答。我如何製作可在平板電腦和手機中使用的佈局?

+0

您將不得不爲兩種屏幕尺寸設計佈局和繪圖。檢查文檔有你需要的所有信息http://developer.android.com/guide/practices/screens_support.html – Raghunandan

+2

我已經在這裏給出了詳細的答案:http://stackoverflow.com/a/12742888/1369222 –

+0

請參閱[本](http://stackoverflow.com/questions/14078460/android-how-to-scale-a-layout-with-screen-size/19925666#19925666)回答。 –

回答

11

讓你的資源如此。

RES /佈局/ my_layout.xml //佈局正常屏幕尺寸( 「默認」)

RES /佈局小/ my_layout.xml //佈局小屏幕尺寸

RES /佈局大/ my_layout.xml //佈局大尺寸屏幕

RES /佈局XLARGE/my_layout.xml //佈局超大屏幕SI澤

RES /佈局XLARGE土地/ my_layout.xml //在橫向佈局特大型

RES /繪製-MDPI/my_icon.png //位圖中密度

RES /抽拉-HDPI/my_icon.png //位圖用於高密度

RES /抽拉-xhdpi/my_icon.png //位圖超高窩點ity

欲瞭解更多referencereference1

在你的manifest.xml添加此

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

希望這會幫助你。

+0

所有可繪製文件夾中的圖像大小將相同?或者將在每個佈局中放置不同大小的圖像? –

+0

你應該放置不同大小的圖像。根據密度..因爲小圖像只適合小屏幕。但它不適合較大的屏幕,因爲它看起來非常小。所以我們正在像這樣移動。最好放置不同大小的圖像。 – Nirmal

+0

@Nirmal嗨,我也用這個,但沒有得到解決方案。我的設備只能顯示正常的佈局。我已經添加了這個權限'android:configChanges =「orientation | keyboardHidden | screenSize | screenLayout」'這會影響任何東西。 – SathishKumar

0

您可以爲您的手機和選項卡創建兩個單獨的佈局。你需要做的是爲手機創建一個帶有「文件名」的佈局文件,並通過右鍵單擊項目並選擇新的> android xml佈局文件>然後輸入「文件名」來創建一個佈局文件,然後單擊下一步並選擇大小從右窗格並從下拉列表中選擇x-large。您的標籤佈局文件是分開創建的,因此可以分別定製您的佈局。

1

使用表格和權重可以在平板電腦上創建相同或類似的寬高比。我只會創建不同的佈局作爲最後的手段。

<TableRow 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight=".33" > 
      //Note: You will need some other TableRows fill in the difference of this Table Row..2 more of the same will equal 1. 
     <TextView 
      android:id="@+id/x" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="3dp" 
      android:layout_weight=".33" 
      android:background="@drawable/buttonx" 
      android:gravity="center" 
      android:text="Words" 
      android:textColor="#ffffff" 
      android:textSize="16sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/x2" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="3dp" 
      android:layout_weight=".33" 
      android:background="@drawable/buttonx2" 
      android:gravity="center" 
      android:text="Other Words" 
      android:textColor="#ffffff" 
      android:textSize="16sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/x3" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_marginLeft="3dp" 
      android:layout_weight=".33" 
      android:background="@drawable/buttonx3" 
      android:gravity="center" 
      android:text="More Words" 
      android:textColor="#ffffff" 
      android:textSize="16sp" 
      android:textStyle="bold" /> 

    </TableRow> 
+0

這對我有幫助嗎? –

+0

這使得您的佈局內部有一定比例的頁面。因此無論是在電視屏幕上還是在最小的設備上,縱橫比都是一樣的。 – SmulianJulian

+0

嗯,我會推薦你​​使用片段... –

相關問題