附加的布局适用于手机(三星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>
答案 0 :(得分:0)
针对不同的密度制作不同的布局。即,将相同的xml文件放在中layout-hdpi
,layout-xhdpi
,layout-tvdpi
要在res / layout中创建这些文件夹,请按以下步骤操作:
右键单击布局文件夹 - &gt; new - &gt; other - &gt; Andorid xml layout - &gt; next - &gt;给出文件名(在所有密度中必须相同) - &gt; AvailableQulaifiers选项卡选择密度 - &gt;借助它之间的箭头将其移动到选定的限定符 - &gt;选择密度(中高电视)---&gt;完成
例如:
Nexus S 和 Nexus one ---&gt; hdpi
Galaxy Nexus ----&gt; xhdpi
Nexus 7 ---&gt; tvdpi
并为heights
提供widths
和Button
..最佳做法是将其设置为wrapcontent
,如果您的方案需要高度,请按照上述步骤操作。并给出高度和宽度,使手机和平板电脑的颜色和宽度不同密度
答案 1 :(得分: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
您可能想尝试在sp而不是dp中指定按钮大小,因为如果用户更改默认字体大小可能需要更大或更小,但wrap_content和/或使用权重通常是最好的。