【问题标题】:Targetting Android app on Phone and Kindle-Fire在手机和 Kindle-Fire 上定位 Android 应用
【发布时间】:2012-04-05 17:19:09
【问题描述】:

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

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

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

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

这是 Kindle Fire 的规格

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

我需要做什么才能在 Android 手机和亚马逊 kindle-fire 上的外观和感觉?

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

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

【问题讨论】:

标签: android kindle-fire


【解决方案1】:

对于字体,请务必使用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);     
}

【讨论】:

    【解决方案2】:

    要在模拟器上进行测试,请使用以下代码以避免 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());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多