我开发了一个Android应用程序并在Market中发布。现在我想为10英寸平板电脑制作相同的应用程序。问题是当我运行10英寸平板电脑的构建时,它运行良好但引发了一些涉及显示文本和布局高度的UI问题。手机版本的文字标题看起来不错,但平板电脑版本却很小。
如何以编程方式查明APK是在手机,10英寸平板电脑还是7英寸平板电脑上运行?如何根据屏幕尺寸维护文字大小和视图大小?我不想为每个分辨率制作单独的XML文件,如(large,xlarge)。
答案 0 :(得分:0)
如你所说,你不想创建新的xml文件,我认为你应该以编程方式检查设备,即你可以使用我认为WindowManager检查设备宽度..然后根据它设置你的字体和布局参数。 但我建议你使用xml方法,这会让你的工作变得轻松。
希望这可以帮助你,如果需要更多的帮助可以随意询问..
答案 1 :(得分: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>
的组件。