Как получить ориентацию моего устройства, когда у меня есть фиксированная ориентация в моей деятельности?

-6

Моя активность имеет фиксированную ориентацию в портрете, и я хочу, чтобы она оставалась в портрете. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Для деятельности не было бы разумно реагировать.

Моя проблема: у меня есть фрагмент в приложении, который содержит textView. Я хочу, чтобы фрагмент реагировал так, чтобы пользователь мог прочитать текст.

Я попытался получить ориентацию от onConfigurationChanged Methode, но это не вызвано, когда я поворачиваю свое устройство, так как оно всегда остается в портрете.

Теперь я хотел выяснить ориентацию своего устройства, а затем оживить фрагмент, чтобы его повернуть. Но я не нашел способ получить ориентацию своего устройства, но только один из моих действий.

Я также попытался установить ориентацию фрагмента с помощью метода выше, чем ориентация активности, но это не сработало (ориентация всегда была такой же, как и активность).

Теперь я действительно не знаю, что делать дальше. Кто-нибудь знает, как я могу настроить ориентацию устройства независимо от ориентации на Activity? → или есть другая идея, как решить мою проблему?

спросил(а) 2016-01-05T13:29:00+03:00 5 лет, 3 месяца назад
0
105

Вы можете использовать OrientationEventListener для получения значения угла ориентации.

OrientationEventListener listener=new OrientationEventListener(this,SensorManager.SENSOR_DELAY_NORMAL) {

@Override
public void onOrientationChanged(int orientation) {
Log.d(tag, "Orientation = "+orientation);
}
};

listener.enable();

На основе значения ориентации вы можете определить ориентацию устройства.

ответил(а) 2016-01-05T13:43:00+03:00 5 лет, 3 месяца назад
44

Вы можете прочитать датчики андроида непосредственно для определения ориентации: Обзор датчиков

Надеюсь это поможет


(Но я не могу понять, почему вы хотели бы сделать это, не вращая деятельность.)

ответил(а) 2016-01-05T13:38:00+03:00 5 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема