2012-04-05 77 views
1

我将针对所有Android设备定位我的应用程序,这样做的最佳方式是什么?到目前为止,我将针对Android手机和Kindle火,这是我的想法。针对手机和Kindle-Fire上的Android应用程序

Android手机和其预期与图片,字体大小等工作......所以我想测试我的应用程序针对Kindle火:

创建AVD模拟器点燃火与下面的规范,但我有在Kindle火几个问题测试:

  1. 图像被拉伸了(不知道如果图像大小应该针对Kindle火可以提高吗?)
  2. 字号较小然后Android手机(我有测试)
  3. 我没有ba ck按钮在我的活动中,所以我假设用户将能够在kindle-fire中使用后退箭头按钮,但在模拟器中没有任何显示。

下面是Kindle Fire的

  • 宽度规格:600px的
  • 身高:1,024
  • 抽象液晶密度:169
  • 目标:安卓2.3.3 - API等级10
  • RAM:512 MB

为了在Android手机和亚马逊kindle-fire上观看和感受,我需要做些什么?

我应该创建两个单独的项目,并指定字体大小和图像大小?

我不知道还有什么我需要考虑。

+1

http://stackoverflow.com/questions/8258376/best-实践使用的,当靶向-多屏幕分辨率上,机器人 – slayton 2012-04-05 17:22:47

回答

0

对于字体,请务必使用sp度量单位。

对于图像,您可以将它们存储在不同的文件夹中,并使用不同的属性命名该文件夹。

http://developer.android.com/guide/topics/resources/providing-resources.html

我会说虽然,我有困难的时候的Kindle和我的10和英寸平板电脑之间的区别,因为它们都判断是由Android大。所以我为它们创建了不同的布局,并在onCreate中检查了屏幕大小。这是代码。

Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
if(display.getWidth() <= 600 || display.getHeight() <= 600) 
{ 
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 
    setContentView(R.layout.kindle_fire_layout); 
} 
else 
{  
    setContentView(R.layout.anything_else);  
} 
0

要在模拟器上测试,请使用下面的代码避免android将其识别为xlarge设备。然后你可以把你的资源放在他们应该在的地方。 还要记住的Kindle Fire的用户界面需要一些像素关闭视图栏等,所以你可能也想考虑

final Configuration config = new Configuration(context.getResources().getConfiguration()); 
config.screenLayout = (config.screenLayout & Configuration.SCREENLAYOUT_LONG_MASK) + Configuration.SCREENLAYOUT_SIZE_LARGE; 
context.getResources().updateConfiguration(context.getResources().getConfiguration(), context.getResources().getDisplayMetrics()); 
相关问题