方形布局的Appwidget在横向模式下无法正常显示

Jos*_*_GD 2 android android-widget

我已经构建了一个方形布局的appwidget,因此它不符合http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#sizes中建议的标准小部件大小.

我选择了3x2尺寸(android:minWidth ="220dip"android:minHeight ="146dip"),因为它是覆盖小部件布局的最小尺寸.

http://developer.android.com/guide/practices/ui_guidelines/widget_design.html#design中, Google建议:

"所有小部件必须适合六个支持的小部件大小之一的边界框,或者更好,在一对纵向和横向方向大小内,因此当用户切换屏幕方向时,您的小部件看起来很好"

我的小部件在纵向模式下看起来不错 切换到横向模式(在模拟器中)时,剪裁布局.我尝试在提供程序的XML中反转minWidth和minHeight值,然后在横向模式下看起来很完美,但在纵向模式下剪切.将大小设置为3x3可以解决问题,但是小部件会占用大量不必要的空间.

我知道我可以在res/layout和res/layout-land中定义不同的布局,但在这种情况下布局完全没有区别,在两种模式中我都希望窗口小部件看起来是方形的.我需要的是'xml'和'xml-land',AFAIK在Android中不支持.

想法?

Com*_*are 5

我需要的是'xml'和'xml-land',AFAIK在Android中不支持.

它受到支持.所有-land资源类型都支持所有资源集限定符(例如).

它是否会帮助你完全是另一回事,因为我不知道你可以通过这种方式动态改变实际的应用程序小部件大小.

将大小设置为3x3可以解决问题,但是小部件会占用大量不必要的空间.

您是试图强制特定像素大小(或至少是纵横比)的人.正如你所发现的那样,这将是脆弱的.此外,不能保证app widget单元在所有设备和主屏幕实现上具有相同的大小.

因此,您要么需要选择一个应用程序窗口小部件大小,为您提供大量额外空间(您的3x3场景),或者设计一个流动的应用程序窗口小部件布局,以适应您给出的实际大小(因此不会广场).就个人而言,我推荐后者.