0

我开发了一个 Android 应用程序并在 Market 上发布了它。现在我想为 10 英寸平板电脑制作同样的应用程序。问题是当我为 10 英寸平板电脑运行构建时,它运行良好,但会引发一些涉及显示文本和布局高度的 UI 问题。文字标题在手机版本中看起来不错,但在平板电脑版本中非常小。

如何以编程方式确定 APK 是在手机、10 英寸平板电脑还是 7 英寸平板电脑上运行?以及如何根据屏幕尺寸维护文本大小和视图大小?我不想为每个分辨率(如(大,xlarge))制作单独的 XML 文件。

4

2 回答 2

0

正如您所提到的,您不想创建新的 xml 文件,所以我认为您应该以编程方式检查设备,即您可以使用我认为 WindowManager 来检查设备宽度。然后根据它设置您的字体和布局参数。但我建议您使用 xml 方法,它使您的工作变得轻松。

希望这对您有所帮助,如果需要更多帮助,请随时询问..

于 2012-06-19T06:08:39.517 回答
0

如果只是更改一些文本大小和尺寸,则执行此操作的标准方法是使用参考尺寸或样式资源的单一布局。例如,您的布局可以有一个TextView其文本大小声明为:

android:textSize="@dimen/descriptive_text_size_label"

另一个视图的高度可以声明为:

android:layout_height="@dimen/descriptive_layout_height_label"

另一个视图可以有几个属性组合在一起的样式:

style="@style/descriptive_style_label"

然后,在res/values-MODIFIER目录中,您有,例如styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="descriptive_style_label">
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">6dp</item>
  </style>

  <dimen name="descriptive_layout_height_label">120dp</dimen>
  <dimen name="descriptive_text_size_label">16dp</dimen>
</resources>

所以你会有平板电脑的值res/values-xlarge和默认值res/values

如果您需要对布局进行更大幅度的更改,您可以使用单独的布局,但使用<include>.

于 2012-06-19T06:23:35.527 回答