1

所以我有一个基于 Android 表单的应用程序,它可以漂亮地填充 7 英寸的屏幕,只有纵向,并且有 50 多个表单。我的业务案例解决方案不必重新设计每个表单(或整个应用程序)以适应不同的分辨率只是缩放表格以填满屏幕。10 英寸的平板电脑看起来有点间隔(但我可以添加一些边距),在手机上你最好有手写笔和良好的视力!

与其争论这些是否是好的选择,我的问题是:可以做到吗?在 Windows CE 上,表单通过“对话框单元”随文本大小缩放,效果很好。Android 没有类似的东西,除非有使用“sp”单位的棘手方法。无论如何,除非我遗漏了什么,否则让一个表格在不同的分辨率下很好地填充屏幕看起来就像是头发拉出来的领域。

作为对评论的回应,它是使用 XML 布局定义的本机应用程序。例如,您可以使用任何示例应用程序并展示如何使其缩放到不同的屏幕尺寸,因此如果屏幕很小,无论分辨率如何,您都会得到微小的文本。

只是要明确一点:我认为通过描述如何使用标准的 Android 方式来处理多个屏幕尺寸,我认为这个问题不能得到有益的回答:http: //developer.android.com/guide/practices/screens_support.html。这是我这次不想做的。这真的是关于如何做其他事情——缩放以适应——当你真正需要它的时候。

4

2 回答 2

0

我希望我能很好地理解你的情况:

如果它是一个 Web 应用程序(您使用的是 webview),则使用 viewport 标签:

<meta name="viewport" content="width=device-width;">

这将使页面内容适合设备屏幕。

或者,如果它是本机应用程序(也适用于 Web 应用程序),您可以在布局XML中为您的布局高度和宽度添加填充父级。

于 2013-09-30T13:33:06.803 回答
0

使用此代码:

Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth();
height = display.getHeight();

要获取任何 Android 屏幕的高度和宽度,并使用此特定尺寸,请设置布局的比例。

例如,

RelativeLayout fieldMain = (RelativeLayout)findViewById(R.id.field_layout);

fieldMain.setLayoutParams(new RelativeLayout.LayoutParams((Int)(0.8*width), (int) (0.9*height)));
于 2013-09-30T13:58:56.817 回答