Topic: Ориентация

Обсуждаем статью Ориентация

Re: Ориентация

Добрый день.

Александр, кручу-верчу функцию isLandscapeMode, где определяется ширина и высота экрана. Входным параметром является activity, но все не как не могу понять, какую активити нужно подать на вход?
Коротко: в классе у меня метод isLandscapeMode, входной параметр. На форме шесть кнопок на каждом из двух экранов и контейнера для хранения данных кнопок.

Спасибо

Re: Ориентация

Имелось в виду, что метод прописан в самой активности и вызывается через щелчок кнопки

public void onClick(View view) {
    isLandscapeMode(this);
    Toast.makeText(getApplicationContext(), mOrientation, Toast.LENGTH_SHORT).show();
}

Re: Ориентация

Здравствуйте , Александр .  В портретном положений экрана 6 кнопок и в альбомном 6 кнопок по 2 в tablerow .   1-й button отвечает за смену ориентаций .  Как здесь "Запрет на создание новой активности" . И в манифест я добавил
android:configChanges="keyboardHidden|orientation|screenSize  чтобы после смены ориентаций заново не вызывал метод oncreate . После запуска приложений .    При переходе в альбомный режим oncreate заново не вызывается . Но кнопки отображаются как в портретном режиме .  С чем связано ?

Re: Ориентация

Если вы запретили пересоздавать активность, то она и будет отображать то, что было на экране до поворота.

Re: Ориентация

Здравствуйте Александр! В уроке написано " Теперь нам осталось создать в созданной папке новый XML-файл activity_main.xml". В случае android studio при создании данного файла приложение сваливается в ошибку при переключении экрана. Создал файл с именем content_main.xml - работает

Re: Ориентация

Речь шла о простом шаблоне, который сейчас в студии 1.4 идет под именем Empty Activity. Вы используете другой шаблон. Тут нужно посмотреть, в чем дело.
Upd. Только что проверил на другом шаблоне - все работает без ошибок. Ищите ошибку у себя.

Re: Ориентация

Александр здравствуйте! После обновления Андроид студии не все так гладко стало получаться. После выполнения  "Теперь нам осталось создать в созданной папке новый XML-файл activity_main.xml." и создания шаблона, выдается ошибка "Rendering Problems The following classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar (Fix Build Path, Create Class) Tip: Try to build the project."
Нашел решение проблемы на одном из форумах:
1. Открыть файл styles.xml в папке res
2. Дописать слово Base к родительской теме, чтобы получилось Base.Theme.AppCompat.Light.DarkActionBar

Может существует способ попроще, чем каждый раз дописывать это?

Re: Ориентация

Периодически подобные глюки случаются при обновлении студии. Я уже не дергаюсь, а жду следующей версии, в которой что-то исправят и добавят при этом несколько новых ошибок. Мне эта ошибка не слишком мешает, это не ошибка программы, а ошибка визуального редактора.

Re: Ориентация

Здравствуйте Александр! У меня вопрос. В подзаголовке "Узнать ориентацию программно" вы написали "Вызовите данную функцию из нужного места, например, при щелчке кнопки и узнайте текущую ориентацию.".... Можно поподробнее. Заранее спасибо

Re: Ориентация

А что тут объяснять? У кнопки есть метод onClick(), у пункта меню есть свой метод. У элементов списка есть свой метод. И в любом из них можно вызвать созданную в статье метод getScreenOrientation()

12 (edited by Frost 2015-12-30 11:53:53)

Re: Ориентация

1. В case не обязательно прописывать break, если содержится одна строка?
2. Выводил надпись "Альбомный режим" по-другому. Новый элемент TextView в активности. В коде:
private TextView mOrientation;
...
mOrientation = (TextView) findViewById(R.id.printOrientation);
...
public void getScreenOrientation (View view){
...
            case Surface.ROTATION_270:
                mOrientation.setText("Экран повернули на 90 градусов против часовой стрелки");
...
}

но как просто вывести отобразить return в активности?

Re: Ориентация

1. break не связан с количеством строк кода. И лучше его использовать во многих случаях (особенно, если не понимаете)
2. Ваш способ не является универсальным, так как предполагает наличие компонента с именем mOrientation.
Мой метод можно использовать в любой активности и фрагменте. return возвращает строку. Вы же знаете, как вывести строку, не так ли?

Re: Ориентация

alexander.klimoff wrote:

А что тут объяснять? У кнопки есть метод onClick(), у пункта меню есть свой метод. У элементов списка есть свой метод. И в любом из них можно вызвать созданную в статье метод getScreenOrientation()

Я извиняюсь но для "особенно одаренных" можно пример кода?

Re: Ориентация

Нельзя. Это основы Java, а не Android. Лучше подтянуть свои знания, чем программировать таким способом на ходу, не понимая очевидных вещей.

Re: Ориентация

alexander.klimoff wrote:

Нельзя. Это основы Java, а не Android. Лучше подтянуть свои знания, чем программировать таким способом на ходу, не понимая очевидных вещей.

Не поверите... Я весь нет перелопатил и все ссылаются на ваш сайт что считаю правильно... И я сам дошел до того как надо сделать... Я не могу пойти  к следующему уроку если этот не понял...и потому и хочется посмотреть код и сравнить с тем что я сделал... Просто хочу перейти к 7 уроку а не могу...Или может дадите ссылку где можно посмотреть похожий пример... Заранее спасибо

Re: Ориентация

Пришлите свой код (мой адрес есть на сайте). И опишите, что вам показалось трудным. Не вижу смысла обсуждать эту проблему на форуме.

Re: Ориентация

Подскажите, пожалуйста, как сохранить изображение, сначала загруженное из Галереи, а потом изменённое, при изменении ориентации?

Re: Ориентация

Очевидно, вам нужно сохранить изменённое изображение где-то. На внешнем носителе или во внутреннюю память. К данному уроку это не относится, но в других уроках это есть.

Re: Ориентация

Здравствуйте, у меня возникает ошибка при запуске приложения:  String types not allowed (at 'layout_weight' with value 'match_parent')
Из-за чего это может быть?

Re: Ориентация

У этого атрибута нет такого значения. Просто будьте внимательнее.

Re: Ориентация

Добрый день. Вопрос про исчезающий текст. В пример с поворотом экрана по кнопке добавила 2 поля:
<EditText
        android:id="@+id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

Но при повороте текст не исчезает ни в одном из них. С чем это может быть связано?
Заранее спасибо.

23

Re: Ориентация

Добрый вечер. У меня такой вопрос. Есть такая программа Samsung Drivelink 1.1.043. Ее уже модифицировали на XDA для получения FULLMIRROR на ШГУ автомобиля. Я ее тоже реверснул. В двух словах бьюсь над двумя проблемами. Первая, программа принудительно переворачивает экран независимо от AndroidManifest.xml и я не знаю как побороть. Прочитал все по ориентации, искал все похожие команды в java. Менял все активити - ноль. Вторая, самое интересное, программа  включает сама USB-modem ! при условии, что подключен кабель USB, а я не могу найти ни одной строчки про usb в теле программы. Если удастся решить второй вопрос, то в первом тогда не будет нужды. Буду благодарен за любую инфу по этим вопросам. PS Intelli не видит момент включения USB-modem. Если нужно выложу видео или файлы. Спасибо

Re: Ориентация

или это только у меня глюк или может новая версия Android Studio 1.5.1 но при создании подпапки в папке res она создается но не отображается. убедившись через проводник что папка все таки создалась кликнув по папке res создал файл activity_main в ручную указав путь до папки layout-land после чего в папке рес появился второй файл activity_main.xml(land) .  может как то где то переключить надо чтоб отображались все папки?

Re: Ориентация

Уже обсуждалось. http://forum.alexanderklimov.ru/viewtopic.php?id=20