Satellite

Пользователи
  • Публикаций

    52
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Satellite стал победителем дня 19 апреля 2015

Satellite имел наиболее популярный контент!

Информация о Satellite

  • Звание
    Продвинутый пользователь

Информация

  • Пол
    Мужчина

Посетители профиля

570 просмотров профиля
  1. Скачать отдельно SDK, можно обновить при необходимости. При установке Seattle установить только NDK (пути оставить по умолчанию). У кого стоит уже Seattle и NDK можно пропустить. Прописать путь к новому SDK как у меня в настройках Android. По желанию можно поставить JDK той же версии, как и у меня.
  2. Satellite

    StatusBar Color

    Исправление проблемы с обновлением бара на Android 5.1: В настройках проекта выбираем No TitleBar: Project -> Options -> Version Info -> Theme: No TitleBar. Код события Onresize необходимо переместить в конец Onshow, т.к. в Onresize перестанет возвращаться высота бара. D: После выполнения этих действий, должно работать нормально на любом устройстве.
  3. Satellite

    StatusBar Color

    Да, в обоих случаях Осталась проблема только с обновлением на Android 5.1.
  4. Satellite

    StatusBar Color

    Действительно работает, думаю, лучше использовать эту функцию.
  5. Satellite

    StatusBar Color

    if (TJKeyCharacterMap.JavaClass.deviceHasKey(AKEYCODE_BACK)) and (TJKeyCharacterMap.JavaClass.deviceHasKey(AKEYCODE_MENU)) then Всё равно значение true передаётся, но navigationbar'a помине нет в системе.
  6. Satellite

    StatusBar Color

    Мне понравился укороченный вариант, ведь можно реализовать его следующим образом: To determine the presence of a hardware keys, this method is the easiest: . . uses Androidapi.KeyCodes, Androidapi.JNI.GraphicsContentViewText, . . TJKeyCharacterMap.JavaClass.deviceHasKey(AKEYCODE_BACK) //To detect hardware BACK TJKeyCharacterMap.JavaClass.deviceHasKey(AKEYCODE_MENU) //To detect hardware MENU . . Result for deviceHasKey is Boolean. All keycode constants can be found in unit Androidapi.KeyCodes. Источник З.Ы. Остаётся лишь написать проверку и тестить.
  7. Satellite

    StatusBar Color

    Встречал одно независимое решение: Ищем разницу между realSize.y и screenSize.y, сравниваем разницу с высотой navigationbar'a. Если (difference == navBarHeight), то navigationbar в системе есть. @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) public boolean hasNavBar(Context context) { Point realSize = new Point(); Point screenSize = new Point(); boolean hasNavBar = false; DisplayMetrics metrics = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getRealMetrics(metrics); realSize.x = metrics.widthPixels; realSize.y = metrics.heightPixels; getWindowManager().getDefaultDisplay().getSize(screenSize); if (realSize.y != screenSize.y) { int difference = realSize.y - screenSize.y; int navBarHeight = 0; Resources resources = context.getResources(); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); if (resourceId > 0) { navBarHeight = resources.getDimensionPixelSize(resourceId); } if (navBarHeight != 0) { if (difference == navBarHeight) { hasNavBar = true; } } } return hasNavBar; } Источник
  8. Satellite

    StatusBar Color

    ZuBy, тогда я в смятении, что за ерунда творится.
  9. Satellite

    StatusBar Color

    Проверил чисто с Window.addFlags, проблема на месте. Также пробовал и с Window.addFlags, и с Window.setFlags вместе. З.Ы.: Также меня интересует, какое значение возвращается с getIdentifier (resourceID) на nexus? По идеи должно вернуть 17956965. Просто на Android 5.1, getBoolean(resourceID) возвращает true.
  10. Satellite

    StatusBar Color

    Sony Xperia XA (Android 6.0), на нём и проблемки. Всё прекрасно работает с проверкой значения config_showNavigationBar, правда на Android 5.1 проблема с обновлением (только после смены ориентации экрана - закрашивается статус-бар).
  11. Satellite

    StatusBar Color

    if not TJKeyCharacterMap.JavaClass.deviceHasKey(TJKeyEvent.JavaClass.KEYCODE_BACK) then Хотелось бы уточнить по данной проверке, ведь она не на всех смартфонах срабатывает. Да и вообще нет надежного способа проверить есть ли navigationbar. На Android 5.1 (без navigationbar), c аппаратными кнопками, условие if not работает, бар не показывается, потому что его нет, но на Android 6.0 (с navigationbar), без аппаратный кнопок, это условие уже не работает, navigationbar не заливается, хотя он есть в системе. Если изменить проверку на if (без not), на Android 6.0 navigationbar заливается, однако, navigationbar становится виден и на Android 5.1 (если обновить форму), хотя в системе он не поддерживается (естественно, потому что проверка не верна). Можно попробовать проверять значение config_showNavigationBar, что-то вроде этого: resourceID:=TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('config_showNavigationBar'), StringToJString('bool'), StringToJString('android')); Строка возвращает следующий набор значений: Значение: "17956965" если navigationbar есть, "17956955", если его нет. Как можно сконвертировать в привычные 0 или 1?
  12. Satellite

    Использование 9-patch картинок [Android]

    Возможно ли вывести 9-patch в Timage? Если нет, то куда можно импортировать изображение такого формата?
  13. Satellite

    TNotification в TThread (Windows 10)

    В Synchronize заработало
  14. Satellite

    TNotification в TThread (Windows 10)

    Имеется стандартный код вывода уведомления в потоке: procedure TMyThread.Execute; var MyNotification: TNotification; begin MyNotification := NotificationsForm.NotificationCenter1.CreateNotification; try MyNotification.Name := 'Windows10Notification'; MyNotification.Title := 'Windows 10 Notification #1'; MyNotification.AlertBody := 'RAD Studio 10 Seattle'; NotificationsForm.NotificationCenter1.PresentNotification(MyNotification); finally MyNotification.Free; end; end; Проблема в том, что в потоке уведомление не срабатывает. С чем это связано, и как это можно завести?
  15. Satellite

    Consume Product

    В документации следующее: Правильно-ли я понял, если у меня используется расходный материал, мне следует вызывать FInAppPurchase.ConsumeProduct(product) вместо FInAppPurchase.PurchaseProduct(product)? А дальше уже обрабатывать в FInAppPurchase.OnConsumeCompleted? Также было написано, что в качестве альтернативы, можно вызывать ConsumeProducts со списком идентификаторов продукта.: procedure ConsumeProducts; var products: TStringList; begin products := TStringList.Create; if FInAppPurchase.IsProductPurchased(product1) then products.Add(product1); if FInAppPurchase.IsProductPurchased(product2) then products.Add(product2); if FInAppPurchase.IsProductPurchased(product3) then products.Add(product3); if FInAppPurchase.IsProductPurchased(product4) then products.Add(product5); FInAppPurchase.ConsumeProducts(products); end; Тоже не совсем понятно, что даёт мне список идентификаторов продукта.