指定按钮和工具栏的大小时,我一直在使用XML布局文件的“设备无关像素”(dip)功能。通过使用dips,我可以指定GUI组件的物理大小,这有利于确保所有屏幕大小的组件始终可读和可点击。例如,我的应用程序有一个水平工具栏,顶部约50dip高,沿着它有几个40dipx40dip按钮。
然而,物理尺寸足以看到并点击小屏幕的按钮在平板电脑上不是很有用。例如,我的工具栏将包含大量的空白,按钮很难看到(因为你倾向于让平板电脑远离你的脸)并且按钮很难在实践中点击(因为它们与屏幕)
是否有任何独立于解决方案的方法来解决这个问题?
我知道我可以使用“layout_weight”来拉伸组件,这样我就可以指定要使用的屏幕百分比,但是对于很多按钮来说这会非常麻烦(如果我有的话,我的按钮需要是方形的)这主要是手动完成的。我可以为每个设备使用不同的布局文件,但这很痛苦。
答案 0 :(得分:1)
是否有任何独立于解决方案的方法来解决这个问题?
使用维度和可绘制资源。
您尚未说明按钮是如何“40dipx40dip”。
如果通过特定的高度和宽度设置它们,而不是在布局或样式中使用40dip
,请使用@dimen/toolbar_btn
。然后在res/values/dimens.xml
中定义为40dip
并在res/values-large/dimens.xml
(或者res/values-large-land/dimens.xml
)中定义,例如,60dip
或任何适合您的内容
如果因图像而按钮为“40dipx40dip”,则只需为平板电脑创建稍大的图像并将其放入res/drawable-large-mdpi/
资源目录。