如何为" small"创建布局?有sw限定符的设备?

时间:2016-05-09 11:42:53

标签: android android-layout

据我所知,layout-smalllayout-normallayout-large已弃用,并且建议为设备创建布局。设置是使用sw。例如,layout-sw320适用于其中一个值为> = 320dp的设备。但是"小" "正常"设备具有相同的sw。

所以问题是如何恰当地区分"小" "正常"有sw限定符的设备?可能吗?我是否需要回归旧式?

2 个答案:

答案 0 :(得分:0)

新设备尺寸分类器旨在支持基于设备的最小宽度;高度不是那么高。如果您的应用程序依赖于高度,则必须单独支持方向,或使用AndroidManifest.xml <activity>属性中的screenOrientation属性将其禁用。

例如,使用screenOrientation="sensorPortrait|portrait"只允许您依赖swXXX,但如果您支持所有屏幕方向,则可以通过以下方式支持它们:

  • layout-w320-port,在纵向中以旧版规范中的small large屏幕调用
  • 编辑:如果您想在纵向模式下明确区分两者,可以使用layout-w320-h426-portlayout-w320-h470-port
  • 上一个layout-w426-land屏幕的
  • small,横向显示时
  • 上一个layout-w470-land屏幕的
  • large,横向显示时

Source

希望这有帮助!

答案 1 :(得分:0)

清单中的

-

<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>

检查链接 - http://developer.android.com/guide/topics/manifest/supports-screens-element.htmlhttp://developer.android.com/guide/practices/screens_support.html