Russian Qt Forum
Апрель 16, 2024, 20:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Горизонтальная ориентация на Android  (Прочитано 2807 раз)
Bambaleil
Гость
« : Июнь 12, 2018, 16:37 »

Подскажите ,пожалуйста, как приложению на андроиде оставить только горизонтальное расположение?
Записан
navrocky
Moderator
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #1 : Сентябрь 20, 2018, 08:59 »

Есть два способа:

1) В AndroidManifest.xml находишь <activity > с классом QtActivity, меняешь свойство android:screenOrientation="unspecified" на то что тебе нужно

Вот возможные значения: https://developer.android.com/guide/topics/manifest/activity-element#screen

2) В Java наследуешь QtActivity, делаешь, к примеру, несколько методов:

Код
Java
public class MainActivity extends QtActivity {
 
   public void setLandscapeOrientation() {
       setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
   }
 
   public void setPortraitOrientation() {
       setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
   }
 
}
 
И вызываешь его через QtAndroidExtras из своего кода, когда тебе надо. Таким способом можно ориентацией экрана динамически управлять.

Код
C++ (Qt)
QtAndroid::androidActivity().callMethod<void>("setLandscapeOrientation", "()V");

Скорее всего можно обойтись и без наследования, а звать метод setRequestedOrientation напрямую, надо просто подобрать сигнатуру вызова и понять как значение enum передать параметром.
Записан

Гугль в помощь
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 23.