问题1:
我有一些基于XML的布局,它们在手机上工作得很好。但当涉及到平板电脑时,布局就变得非常宽泛。这没什么问题,只是看起来很...不同寻常。所以我想解决这个问题最简单的方法就是限制布局的宽度(就像使用属性"android:maxWidth="480dp")并且居中显示在屏幕上。
(我考虑过提供一个"layout-xlarge“文件夹,但考虑到我拥有的布局数量,这很麻烦,并且增加了维护负担。)
问题2:
在3.0模拟器上,我看到原来的Settings应用程序因为超大的屏幕而改变了,屏幕被分成了两部分。左侧部分显示可用设置,右侧部分显示所选设置的选项。也就是说,原来的两个级别的活动现在合并为一个级别。我的疑问是:有没有一种简单的方法,不需要太多的编程,就能做到这一点?我期望的是,当程序检测到它在xlarge屏幕上运行时,它会调用一些方法,瞧,两个活动变成了一个。这个是可能的吗?如果没有,如何实现lsef-right分屏?
谢谢。
发布于 2011-08-13 06:48:38
这两个问题的答案都是:Fragments。Fragment是Android处理大屏幕尺寸的方法-其基本思想是您可以拥有适合小屏幕和大屏幕的布局。在手机上,您可能习惯于让一个活动对应于单个屏幕上的内容。在平板电脑上,这是对空间的浪费,而且您通常希望在单个屏幕上显示多个活动的内容。
Fragments与activities相似,但生命周期略有不同。你仍然围绕着活动来设计你的应用,但是每个活动可以包含几个片段。这些片段中的哪一个显示在屏幕上取决于您,通常您会在大屏幕设备上一次显示几个片段。
使用Android compatibility package (通过Android SDk manager下载)可以让你的应用程序在更老的安卓版本上运行,包括2.1。
例如,请查看API Demos:http://developer.android.com/resources/samples/Support4Demos/index.html
有关片段的一般介绍,请阅读API:http://developer.android.com/guide/topics/fundamentals/fragments.html
https://stackoverflow.com/questions/7046905
复制相似问题