2012-04-05 74 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()); 
相關問題