Titanium / Appcelerator для Android: изображения с различной плотностью не найдены - PullRequest
1 голос
/ 17 декабря 2010

Я следовал руководству здесь: http://developer.appcelerator.com/guides/en/app_structure.html

для использования изображений высокой и средней плотности для Android.

Моя файловая структура:

/Resources
/Resources/android
/Resources/android/images
/Resources/android/images/high/ic_menu_add.png
/Resources/android/images/medium/ic_menu_add.png
/Resources/android/images/default.png
/Resources/user
/Resources/user/super.js
/Resources/app.js

default.png загружается как положено.

Я добавил 6 кнопок в свое меню в super.js (чтобы попытаться отладить это):

var activity = Ti.Android.currentActivity;
activity.onCreateOptionsMenu = function(e) {
  var menu = e.menu;
  var menuItem1 = menu.add({ title: "1" });
  menuItem1.setIcon("/images/ic_menu_add.png");
  menuItem1.addEventListener("click", function(e) {
  });
  var menuItem2 = menu.add({ title: "2" });
  menuItem2.setIcon("../images/ic_menu_add.png");
  menuItem2.addEventListener("click", function(e) {
  });
  var menuItem3 = menu.add({ title: "3" });
  menuItem3.setIcon("../ic_menu_add.png");
  menuItem3.addEventListener("click", function(e) {
  });
  var menuItem4 = menu.add({ title: "4" });
  menuItem4.setIcon("/images/ic_menu_add.png");
  menuItem4.addEventListener("click", function(e) {
  });
  var menuItem5 = menu.add({ title: "5" });
  menuItem5.setIcon("/ic_menu_add.png");
  menuItem5.addEventListener("click", function(e) {
  });
  var menuItem6 = menu.add({ title: "6" });
  menuItem6.setIcon("ic_menu_add.png");
  menuItem6.addEventListener("click", function(e) {
  });
}

Когда я нажимаю кнопку меню:

12-15 14:23:59.091: INFO/TiFileHlpr(537): (main) [4617,7631] /images/ic_menu_add.png not found.
12-15 14:23:59.101: INFO/TiFileHlpr(537): (main) [4,7635] ../images/ic_menu_add.png not found.
12-15 14:23:59.121: INFO/TiFileHlpr(537): (main) [25,7660] ../ic_menu_add.png not found.
12-15 14:23:59.121: INFO/TiFileHlpr(537): (main) [3,7663] /images/ic_menu_add.png not found.
12-15 14:23:59.131: INFO/TiFileHlpr(537): (main) [5,7668] /ic_menu_add.png not found.
12-15 14:23:59.140: INFO/TiFileHlpr(537): (main) [5,7673] ic_menu_add.png not found.

Официальное руководство гласит, что нужно использовать просто 'ic_menu_add.png', что в случае 6 и не работает.

Каталог сборки выглядит следующим образом:

/build/android/res/drawable-hdpi/ic_menu_add_ad7ef1aa68.png
/build/android/res/drawable-mdpi/ic_menu_add_ad7ef1aa68.png

Мой пользовательский AndroidManifest.xml содержит этот раздел:

<supports-screens 
   android:largeScreens="true"
   android:anyDensity="true"
   android:normalScreens="true"  android:smallScreens="true"/>

Кто-нибудь знает правильный способ заставить работать изображения с множественной плотностью? [Я использую мобильный SDK 1.5.x]

1 Ответ

1 голос
/ 20 декабря 2010

Это известная и зарегистрированная проблема.Он запланирован для исправления в 1.6

. Вы можете просмотреть журнал из их системы отслеживания ошибок:

Журналы средних плотностей Журнал зафиксирован: Ошибка - 10000 *

1008 * Итак, немедленного облегчения для вас нет, но оно грядет.Это происходит случайно, в настоящее время я жду UI-экран для iOS, чтобы я мог поддерживать внешние дисплеи / VGA-ключ.
...