Бывают ситуации, когда разработчику Android приложений требуется определить текущую ориентацию экрана устройства — портретную или альбомную. Например, при изменении ориентации экрана может потребоваться применить другой макет интерфейса, отличающийся от макета, используемого в другой ориентации.
В Android SDK предусмотрены специальные методы, позволяющие определить текущую ориентацию экрана. Рассмотрим, как это можно сделать на примере кода на языке Java.
import android.content.res.Configuration; import android.app.Activity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int orientation = getResources().getConfiguration().orientation; if (orientation == Configuration.ORIENTATION_LANDSCAPE) { // код для альбомной ориентации } else if (orientation == Configuration.ORIENTATION_PORTRAIT) { // код для портретной ориентации } } }
В данном примере мы используем метод getResources().getConfiguration().orientation
, который возвращает целочисленное значение, соответствующее текущей ориентации экрана. Затем мы сравниваем полученное значение с константами Configuration.ORIENTATION_LANDSCAPE
и Configuration.ORIENTATION_PORTRAIT
, которые представляют альбомную и портретную ориентации соответственно.
Таким образом, можно легко определить ориентацию экрана и применить соответствующую логику в зависимости от результата.
Добавить комментарий