Активность не автоповорот:

       <activity
            android:name=".E028"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar" >
        </activity>

Если я использую onConfigurationChanged, он не работает:

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        // TODO Auto-generated method stub
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
            Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
        }
    }

Как проверить статус телефона - Пейзаж или Портрет, если Активность не автоповорот?

Думаю, такой случай: я должен использовать датчик

Мой код:

@Override
    public void onSensorChanged(SensorEvent event) {
        // TODO Auto-generated method stub
        if (event.values[1] < 6.5 && event.values[1] > -6.5) {
            if (orientation != 1) {
                Log.d("Sensor", "Landscape");
                // listImage.notifyDataSetChanged();
            }
            orientation = 1;
        } else {
            if (orientation != 0) {
                Log.d("Sensor", "Portrait");
                // listImage.notifyDataSetChanged();
            }
            orientation = 0;
        }
    }

Но он работает не лучшим образом. Статус моего телефона - Портрет: если немного наклонить назад, возвращается значение Пейзаж.

3
mum 22 Апр 2014 в 08:15

2 ответа

Лучший ответ

Попробуй это..

getResources().getConfiguration() вернет Configuration

if(YourActivity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) 
{
    // Portrait Mode
} else {
    // Landscape Mode         
}

ИЗМЕНИТЬ

Получите ориентацию телефона, когда заблокирован в одной ориентации

15
Community 23 Май 2017 в 10:30

Из принятого выше решения я скажу, что оно сработало именно для меня, КРОМЕ мне пришлось изменить YourActivity.getResources () ... бла, бла, бла на this.getResources () ... бла, бла, бла

-1
P Toles 11 Сен 2018 в 05:45