根据宽高比

时间:2015-05-14 08:52:53

标签: android

我的Android应用程序的欢迎屏幕如下所示。

denko on phone

但是,我还需要支持屏幕更宽的平板电脑。遗憾的是,屏幕底部的徽标几乎没有空间。

denko on tablet

如果我检测到宽屏设备,我需要稍微裁剪背景图像的顶部和底部,或者使徽标变小。

我如何知道设备是否为宽屏?如何在运行时裁剪图像?我可以要求Android根据屏幕宽高比加载替代资源吗?这可以使用xml文件来完成而无需以编程方式执行操作吗?

2 个答案:

答案 0 :(得分:1)

您可以根据屏幕宽度定义不同的布局:Difference between sw600dp and w600dp?

我认为唯一应该是背景图像的是气泵照片。文本不应放在图像中,因为如果图像重新缩放/拉伸,则失真看起来很糟糕。所以我将RelativeLayout作为根视图,使用该照片设置。然后我会有两个元素“Denko”和“Welcome”,它们可以是布局中包含的TextView和ImageView。然后我会为“Denko”的id设置onFailure="handleError(XMLHttpRequest,textStatus,errorThrown)" var handleError = function(XMLHttpRequest,textStatus,errorThrown){ alert(XMLHttpRequest.responseText); } 为“Message”。这样“消息”将始终高于“Denko”。

答案 1 :(得分:1)

你可以拥有不同的文件夹,例如layout-large和layout-medium,就像你有drawable-hdpi,drawable-mdpi等一样。这将改变它根据设备使用的布局文件。 For more reading checkout Google's training.