2013-09-30 40 views
2

所以我有一个基于Android的基于窗体的应用程序,它完美地填充了一个7英寸的屏幕,只有肖像,并且有50多个窗体,而不必重新设计每个窗体(或整个应用程序)以适应不同的分辨率,这种情况下的解决方案就是缩小表格以填充屏幕,10英寸的平板电脑看起来有点距离(但我可以添加一些边距),在手机上最好有一支触控笔和良好的视力!可以通过Android布局缩放来填充屏幕吗?

与其争论这些是否是好的选择,我的问题是:可以这样做吗?在Windows CE上,窗体通过“对话框单位”以文本大小缩放,这很好地工作。 Android没有类似的东西,除非使用'sp'单元有棘手的方法。无论如何,在不同的分辨率下获得一个很好地填充屏幕的表单看起来像拔毛的领域,除非我错过了一些东西。

在回答评论时,它是使用XML布局定义的本机应用程序。举个例子,你可以采取几乎任何示例应用程序,并展示如何使其缩放到不同的屏幕尺寸,所以如果屏幕很小,则无论分辨率如何,都可以获得小文本。

只是要清楚:我不认为这个问题可以通过描述如何使用标准Android处理多种屏幕尺寸的方式来帮助回答:http://developer.android.com/guide/practices/screens_support.html。这是我不想这次做的。这实际上是关于如何做其他事情 - 缩放以适应 - 当你真的需要它时。

+0

如果我理解正确,是的,它可以完成。但是你最好把这些表格的代码和图片放在这里。 – gnclmorais

+0

@gnclmorais:是的,我同意,但我还没有想出如何有效地做到这一点。只需采取任何本地应用程序,并使其规模! –

回答

0

我希望我理解你的处境好:

如果它是一个Web应用程序(您正在使用的WebView),然后使用视标签:

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

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

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

+0

这是一个本地应用程序。请参阅编辑。 –

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))); 
+0

可以工作。我们必须试一试。 –

0

如果我正确地得到这个,你缺少Android中的最强点,动态布局之一。例如,您可以使用表格dp,文本使用spTake a look at it

+0

这不是一个答案,这是一个评论。是的,我需要更好地解释为什么我要这样做,但我真的这样做。 –

+0

为什么你不阅读我发给你的网页并开始试验你的代码?你实际上并不希望StackOverflow能够魔法般地为你提供解决问题的代码,而不需要你提供任何代码...... – gnclmorais

+0

嗯。我很了解这个页面,我已经深入研究了它,并根据这些准则编写了软件。现在对于完全不同的东西,我想要按照我的要求去做:写一个缩放应用程序,而不是适应不同的屏幕尺寸。你能帮我吗? –