Topic: Ориентация
Обсуждаем статью Ориентация
Все вопросы проплачены кошками - всемирно известными производителями котят
You are not logged in. Please login or register.
Для регистрации на форуме следует написать мне письмо. В ответе я напишу правильный ответ для прохождения регистрации.
Форум Александра Климова → Android → Ориентация
Добрый день.
Александр, кручу-верчу функцию isLandscapeMode, где определяется ширина и высота экрана. Входным параметром является activity, но все не как не могу понять, какую активити нужно подать на вход?
Коротко: в классе у меня метод isLandscapeMode, входной параметр. На форме шесть кнопок на каждом из двух экранов и контейнера для хранения данных кнопок.
Спасибо
Имелось в виду, что метод прописан в самой активности и вызывается через щелчок кнопки
public void onClick(View view) {
isLandscapeMode(this);
Toast.makeText(getApplicationContext(), mOrientation, Toast.LENGTH_SHORT).show();
}
Здравствуйте , Александр . В портретном положений экрана 6 кнопок и в альбомном 6 кнопок по 2 в tablerow . 1-й button отвечает за смену ориентаций . Как здесь "Запрет на создание новой активности" . И в манифест я добавил
android:configChanges="keyboardHidden|orientation|screenSize чтобы после смены ориентаций заново не вызывал метод oncreate . После запуска приложений . При переходе в альбомный режим oncreate заново не вызывается . Но кнопки отображаются как в портретном режиме . С чем связано ?
Если вы запретили пересоздавать активность, то она и будет отображать то, что было на экране до поворота.
Здравствуйте Александр! В уроке написано " Теперь нам осталось создать в созданной папке новый XML-файл activity_main.xml". В случае android studio при создании данного файла приложение сваливается в ошибку при переключении экрана. Создал файл с именем content_main.xml - работает
Речь шла о простом шаблоне, который сейчас в студии 1.4 идет под именем Empty Activity. Вы используете другой шаблон. Тут нужно посмотреть, в чем дело.
Upd. Только что проверил на другом шаблоне - все работает без ошибок. Ищите ошибку у себя.
Александр здравствуйте! После обновления Андроид студии не все так гладко стало получаться. После выполнения "Теперь нам осталось создать в созданной папке новый 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
Может существует способ попроще, чем каждый раз дописывать это?
Периодически подобные глюки случаются при обновлении студии. Я уже не дергаюсь, а жду следующей версии, в которой что-то исправят и добавят при этом несколько новых ошибок. Мне эта ошибка не слишком мешает, это не ошибка программы, а ошибка визуального редактора.
Здравствуйте Александр! У меня вопрос. В подзаголовке "Узнать ориентацию программно" вы написали "Вызовите данную функцию из нужного места, например, при щелчке кнопки и узнайте текущую ориентацию.".... Можно поподробнее. Заранее спасибо
А что тут объяснять? У кнопки есть метод onClick(), у пункта меню есть свой метод. У элементов списка есть свой метод. И в любом из них можно вызвать созданную в статье метод getScreenOrientation()
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 в активности?
1. break не связан с количеством строк кода. И лучше его использовать во многих случаях (особенно, если не понимаете)
2. Ваш способ не является универсальным, так как предполагает наличие компонента с именем mOrientation.
Мой метод можно использовать в любой активности и фрагменте. return возвращает строку. Вы же знаете, как вывести строку, не так ли?
А что тут объяснять? У кнопки есть метод onClick(), у пункта меню есть свой метод. У элементов списка есть свой метод. И в любом из них можно вызвать созданную в статье метод getScreenOrientation()
Я извиняюсь но для "особенно одаренных" можно пример кода?
Нельзя. Это основы Java, а не Android. Лучше подтянуть свои знания, чем программировать таким способом на ходу, не понимая очевидных вещей.
Нельзя. Это основы Java, а не Android. Лучше подтянуть свои знания, чем программировать таким способом на ходу, не понимая очевидных вещей.
Не поверите... Я весь нет перелопатил и все ссылаются на ваш сайт что считаю правильно... И я сам дошел до того как надо сделать... Я не могу пойти к следующему уроку если этот не понял...и потому и хочется посмотреть код и сравнить с тем что я сделал... Просто хочу перейти к 7 уроку а не могу...Или может дадите ссылку где можно посмотреть похожий пример... Заранее спасибо
Пришлите свой код (мой адрес есть на сайте). И опишите, что вам показалось трудным. Не вижу смысла обсуждать эту проблему на форуме.
Подскажите, пожалуйста, как сохранить изображение, сначала загруженное из Галереи, а потом изменённое, при изменении ориентации?
Очевидно, вам нужно сохранить изменённое изображение где-то. На внешнем носителе или во внутреннюю память. К данному уроку это не относится, но в других уроках это есть.
Здравствуйте, у меня возникает ошибка при запуске приложения: String types not allowed (at 'layout_weight' with value 'match_parent')
Из-за чего это может быть?
У этого атрибута нет такого значения. Просто будьте внимательнее.
Добрый день. Вопрос про исчезающий текст. В пример с поворотом экрана по кнопке добавила 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" />
Но при повороте текст не исчезает ни в одном из них. С чем это может быть связано?
Заранее спасибо.
Добрый вечер. У меня такой вопрос. Есть такая программа Samsung Drivelink 1.1.043. Ее уже модифицировали на XDA для получения FULLMIRROR на ШГУ автомобиля. Я ее тоже реверснул. В двух словах бьюсь над двумя проблемами. Первая, программа принудительно переворачивает экран независимо от AndroidManifest.xml и я не знаю как побороть. Прочитал все по ориентации, искал все похожие команды в java. Менял все активити - ноль. Вторая, самое интересное, программа включает сама USB-modem ! при условии, что подключен кабель USB, а я не могу найти ни одной строчки про usb в теле программы. Если удастся решить второй вопрос, то в первом тогда не будет нужды. Буду благодарен за любую инфу по этим вопросам. PS Intelli не видит момент включения USB-modem. Если нужно выложу видео или файлы. Спасибо
или это только у меня глюк или может новая версия Android Studio 1.5.1 но при создании подпапки в папке res она создается но не отображается. убедившись через проводник что папка все таки создалась кликнув по папке res создал файл activity_main в ручную указав путь до папки layout-land после чего в папке рес появился второй файл activity_main.xml(land) . может как то где то переключить надо чтоб отображались все папки?
Уже обсуждалось. http://forum.alexanderklimov.ru/viewtopic.php?id=20
Форум Александра Климова → Android → Ориентация
Powered by PunBB, supported by Informer Technologies, Inc.