2012-08-01 78 views
0

目前我正在尝试为Android设备开发移动应用程序(使用Appcelerator)。适合移动设备的尺寸图像

有很多Android设备在那里与不同的屏幕分辨率。所以我基本上希望应用在每个Android设备上看起来都一样。

因此,假设我在屏幕中心有一个背景图像。这是(像素)550x300。

我只是试图设置图像的宽度和高度为下降(密度独立像素)。所以在我的情况下:332dp x 226dp

我首先在HTC One X上测试了这个。在那里的图像很好地居中,我有一个小的空间左侧和右侧的屏幕边缘。

然后我在一个稍旧的设备上测试它,HTC Desire Z。在那里,图像宽度比屏幕的实际宽度稍大一点。 (画面例。蓝色方块代表图像)

enter image description here

因此,这意味着设定的宽度和高度作为DP不是无论是对图像的良好选择。

什么是设置图像宽度和高度的好方法,以便它们在两部手机上看起来都一样。即,使得它们在左侧图像的其他边缘上都有一个小的空白区域(就像我现在在HTC One X中一样)??

有关此事的任何建议?

编辑

感谢信息为止。你们中的一些人发布了资源链接等,并提出了一些建议。我会尽量在接下来的几天内解决它们,所以我可能需要几天时间才能接受答案。同时,欢迎任何意见建议。

回答

1

我会建议使用大小来适合。

在目标c它看起来有点像这样...没有太多的android程序员,但这可能有所帮助。

CGRect frame = _textView.frame; 
frame.size.height = _textView.contentSize.height; 
_textView.frame = frame; 

因此,如果您能想出一个办法让帧的大小,那么你可以你的图片设置为大小任何方式视图定位。

如果你不想让它占据整个屏幕,只是两侧,那么可能会有一个Android的自动调整功能,这样你的图像将会随着你的框架灵活变化,这将取决于手机的尺寸。

0

我认为问题不在于图像较宽,而是HTC Desire Z上手机的屏幕宽度较小。
我认为在所有设备上使图像看起来相同的最佳方式是以编程方式设置宽度/高度。
但我认为这并不重要,因为您会遇到更复杂的问题,进一步发展为多个设备。两个看起来都不错。

0

我会将您的android:layout_width设置为fill_parent,然后在dip中添加android:layout_marginLeftandroid:layout_marginRight。您还可以为顶部和底部设置保证金,但根据您的屏幕截图来看似乎没有问题。

作为一般规则,尽量避免为您的小部件设置固定的高度和宽度。下面是处理不同的屏幕尺寸有很大的参考:

http://developer.android.com/guide/practices/screens_support.html

0

所以我基本上希望应用程序看起来都一样的Android设备上。

不,你不知道。你以为你会这样做,但你确实没有。这就像试图以4x6,5x7和8x10的框架合成照片 - 这是必须要做的。你有小型手机,中型手机,大型手机,7“平板电脑,10”平板电脑 - 这些是而不是相同的经验,你只需要允许一些宽松的设计,使其工作。如果你只是想形象之外的空间,具体金额,只是给你的ImageView在DV单元特定的保证金,如:

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="10dip" 
    //... 
    /> 

你应该努力使经验相同(虽然平板电脑的不同布局强烈推荐),但你不能指望它在所有屏幕尺寸和密度上看起来都一样。