2013-01-25 152 views
1

附加的佈局適用於手機(Samsung Infuse),但當應用上傳到平板電腦(Nexus 7)時,它不會正確顯示 佈局。按鈕大小不正確。我怎樣才能解決這個問題?平板電腦的佈局

  <?xml version="1.0" encoding="utf-8"?> 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/" 
      style="@string/menu_settings" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@drawable/gecko25" 
      android:gravity="center_horizontal" 
      android:orientation="horizontal" 
      android:textAlignment="center" 
      android:visibility="visible" > 

     <Button 
      android:id="@+id/link1_btn" 
      android:layout_width="98dp" 
      android:layout_height="wrap_content" 
      android:minHeight="58dip" 
      android:minWidth="98dip" 
      android:text="About" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/link2_btn" 
      android:layout_width="98dp" 
      android:layout_height="wrap_content" 
      android:minHeight="58dip" 
      android:minWidth="98dip" 
      android:text="Experience" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/link3_btn" 
      android:layout_width="98dp" 
      android:layout_height="wrap_content" 
      android:minHeight="58dip" 
      android:minWidth="98dp" 
      android:selectAllOnFocus="false" 
      android:text="Bulacards" 
      android:textStyle="bold" /> 

        </LinearLayout> 
+2

這對平板電腦有什麼好處呢?您正在爲按鈕提供靜態高寬。請按照http://developer.android.com/guide/practices/screens_support.html –

+0

您也可以爲每個尺寸定義dimension.xml,因爲看起來像只有幾個值。因此,您可以在當前有58dip的地方使用'@ dimen/button_height',併爲每個尺寸設置不同的值。 – anthropomo

+0

使用佈局權重在所有按鈕之間平均分配空間 –

回答

0

針對不同的密度製作不同的佈局。即,將相同的XML文件中
layout-hdpi
layout-xhdpi
layout-tvdpi

要建立在res這些文件夾/佈局請按照下列步驟操作:

右鍵單擊文件夾佈局 - >新建 - >其他 - - > Andorid xml佈局 - >下一個 - >提供文件名(在所有密度下必須相同) - > AvailableQulaifiers選項卡選擇密度 - >藉助箭頭之間的移動選擇限定符 - >在那裏選擇什麼密度(中等高電視)--->完成

像例如:

Nexus S的的Nexus一個 --->hdpi

的Galaxy Nexus ---->xhdpi

的Nexus 7 --->tvdpi

,並給heightswidthsButton ..最佳做法是將它們設置爲wrapcontent,如果對於您它需要高度的情景按照上述步驟。並給出高度和寬度,以便不同的手機和平板電腦不同密度

0

不建議您使用tvdpi Nexus 7屏幕。

看到這個: http://android-developers.blogspot.com/2012/07/getting-your-app-ready-for-jelly-bean.html

可能檢測7" 平板電腦的最佳方式(例如Nexus 7)是使用預選賽:

佈局sw600dp

而對於10限定符「片:

佈局sw720dp

你可能想嘗試指定,但而不是dp,因爲如果用戶更改默認字體大小,它們可能需要更大或更小,但wrap_content和/或使用權重通常是最好的。