1

我会将我的应用程序定位到所有 android 设备,最好的方法是什么?到目前为止,我将针对 Android 手机和 Kindle-fire,这是我的想法。

android 手机及其在图像、字体大小等方面按预期工作......所以我想测试我的应用程序是否适合 kindle-fire:

使用以下规范为 kindle-fire 创建 AVD 模拟器,但我在 kindle-fire 上测试时遇到了一些问题:

  1. 图像被拉伸(不确定是否应该为 kindle-fire 增加图像大小?)
  2. 字体大小比安卓手机小(我已经测试过)
  3. 我的活动中没有后退按钮,所以我假设用户将能够在 kindle-fire 中使用后退箭头按钮,但在模拟器中没有显示。

这是Kindle Fire的规格

  • 宽度:600 像素
  • 高度:1024px
  • 抽象 LCD 密度:169
  • 目标:Android 2.3.3 - API 级别 10
  • 内存:512 MB

为了在 android 手机和 amazon kindle-fire 上的外观和感觉,我需要做什么?

我应该创建两个单独的项目并以字体大小和图像大小为目标吗?

我不确定我还需要考虑什么。

4

2 回答 2

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);     
}
于 2012-04-05T17:37:40.100 回答
0

要在模拟器上进行测试,请使用下面的代码来避免 android 将其识别为 xlarge 设备。然后,您可以将资源放在应有的位置。另请记住,kindle fire ui 会从栏的视图中移除一些像素等,因此您可能还需要考虑

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());
于 2012-04-11T18:51:28.980 回答