2013-01-25 151 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和/或使用权重通常是最好的。