Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.

Обсуждение уроков
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение damager82 » 26 июл 2012, 11:52

А эмулятор 2.3.3 используете? У него проблемы с этим ...
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение math64 » 26 июл 2012, 12:10

Проблемы только у обычного эмулятора, или у Intel Atom x86 тоже? Если у Intel Atom x86 этой проблемы нет, стоит использовать его - работает быстрее.
Я сам использую реальное устройство с 2.3.5 (Samsung GT-I9003) - там всё нормально.

Valette
Сообщения: 3
Зарегистрирован: 26 июл 2012, 11:04

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Valette » 26 июл 2012, 13:03

damager82 писал(а):А эмулятор 2.3.3 используете? У него проблемы с этим ...
Да, его, в уроках его рекомендовали же :)
Попробую другой...

Valette
Сообщения: 3
Зарегистрирован: 26 июл 2012, 11:04

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Valette » 26 июл 2012, 13:23

Да, тот же код отработал нормально на 3.0.2 (т.е. все нормально, лайауты меняются как надо), но как починить 2.3.3..?
Уж больно неудобно использовать 3ий..

Mishka.exe
Сообщения: 1
Зарегистрирован: 11 июл 2012, 12:52

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение Mishka.exe » 28 июл 2012, 13:22

скриншот
Эмулятор не меняет ориентацию экрана. В чем проблема?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение damager82 » 30 июл 2012, 10:42

Ох уж мне этот гугл, блин. То интерфейс создания проекта поменяет, то эмуляторы криво работают ))
Ща пофиксю урок. Будем на другой версии эмулятора запускать.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

tonych33
Сообщения: 3
Зарегистрирован: 22 авг 2012, 23:21

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение tonych33 » 23 авг 2012, 00:07

Люди помогите в чем проблема?)и как ее исправить?)
исходник

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
		android:id="@+id/txtview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/txt" >
	</TextView>
	<LinearLayout
		android:layout_height="warp_content"
		android:layout_whidth="match_parent"
		android:id="@+id/linearlayout1"
		android:orientation="vertical">
		<Button
			android:text="button1"
			abdroid:id="@+id/butt1"
			android:layout_height="100dp"
			android:layout_width="100dp">
		</Button>
		<Button
			android:text="button2"
			abdroid:id="@+id/butt2"
			android:layout_height="100dp"
			android:layout_width="100dp">
		</Button>
		<Button
			android:text="button3"
			abdroid:id="@+id/butt3"
			android:layout_height="100dp"
			android:layout_width="100dp">
		</Button>
		<Button
			android:text="button4"
			abdroid:id="@+id/butt4"
			android:layout_height="100dp"
			android:layout_width="100dp">
		</Button>
	</LinearLayout>
</LinearLayout>
Ошибка
aapt:Error parsing XML :unbound ptefix
Подчеркивает на 20 строчке
Последний раз редактировалось tonych33 23 авг 2012, 08:28, всего редактировалось 2 раза.

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение math64 » 23 авг 2012, 07:28

Скорее всего, нужно удалить строчку и заново набить - вероятно, так есть непечатные символы.
И лучше вставлять исходники прямо сюда используя

Код: Выделить всё

 или [code=java]

tonych33
Сообщения: 3
Зарегистрирован: 22 авг 2012, 23:21

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение tonych33 » 23 авг 2012, 08:21

Хорошо учту,спасибо)

tst
Сообщения: 4
Зарегистрирован: 16 окт 2012, 00:33

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение tst » 16 окт 2012, 00:37

Реально ли при смене ориентации менять не только расположение элементов, но и изменять сами элементы?
Грубо говоря что-то вроде startActivity(intent), но при повороте экрана

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение AndreyI » 16 окт 2012, 01:13

Принцип примерно тот же, что и при локализации ресурсов, в папке res/ нужно создать папки
layout-port - сюда помещаем свои макеты для портретной ориентации
layout-land - сюда для альбомной
layout-square - сюда, при необходимости, для квадратных экранов ))
макеты (layout) во всех папках должны иметь одинаковое название, тогда система загрузит нужный макет для соответствующей ориентации.

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

tst
Сообщения: 4
Зарегистрирован: 16 окт 2012, 00:33

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение tst » 16 окт 2012, 16:33

AndreyI писал(а):Принцип примерно тот же, что и при локализации ресурсов, в папке res/ нужно создать папки
layout-port - сюда помещаем свои макеты для портретной ориентации
layout-land - сюда для альбомной
layout-square - сюда, при необходимости, для квадратных экранов ))
макеты (layout) во всех папках должны иметь одинаковое название, тогда система загрузит нужный макет для соответствующей ориентации.

Никаких ограничений на то, что будет отображаться при разных ориентациях экрана нет, можете в портретной ориентации показать табуретку, а при альбомной кровать.))
Странно, у меня если на стартовом экране есть например view1, view2, view3, а в layout-land нет хотя бы одного из этих элементов, все падает :(
То есть это же логично, ведь при повороте запускаются onDestroy и onCreate и идет присвоение view по их id (ну например btnStart = (ImageButton) findViewById(R.id.imageButtonStart); ), а если этих элементов нет в land - файле, то и присвоить их не выйдет.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение rezak90 » 16 окт 2012, 16:35

делайте с одинаковыми айди, в чём проблема?
R.id.team
Политика на форуме запрещена

tst
Сообщения: 4
Зарегистрирован: 16 окт 2012, 00:33

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение tst » 16 окт 2012, 16:41

rezak90 писал(а):делайте с одинаковыми айди, в чём проблема?
Набор элементов разный. То есть по-хорошему надо бы что-то вроде

public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
Intent intent = new Intent(this, MyClass.class);
startActivity(intent);
}

Теоретически же должно работать? Сейчас не могу проверить к сожалению, но может кому понадобится в дальнейшем

AndreyI
Сообщения: 372
Зарегистрирован: 14 май 2012, 16:18

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение AndreyI » 16 окт 2012, 16:58

В таком случае нужно просто в onCreate сделать проверку на ориентацию экрана (к примеру, как здесь) и в зависимости от результата использовать разный код инициализации объектов.

tst
Сообщения: 4
Зарегистрирован: 16 окт 2012, 00:33

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение tst » 16 окт 2012, 21:11

AndreyI писал(а):В таком случае нужно просто в onCreate сделать проверку на ориентацию экрана (к примеру, как здесь) и в зависимости от результата использовать разный код инициализации объектов.
Этот способ работает, спасибо

nilrey
Сообщения: 1
Зарегистрирован: 24 окт 2012, 09:16

Re: Урок 5. Layout-файл в Activity. XML представление.

Сообщение nilrey » 24 окт 2012, 09:24

Подскажите, кто решил следующую проблему: при нажатии ctrl+F12 появляется сообщение "Отмена невозможна", и экран остается в вертикальном положении.
Т.е. не работает Смена ориентации экрана.
используется AVD 2.2
Скрин:
http://joxi.ru/Z9kVTsv

Аватара пользователя
marc-x
Сообщения: 1
Зарегистрирован: 02 ноя 2012, 15:10
Откуда: Россия, Асбест
Контактная информация:

Re: Урок 5. Layout-файл в Activity. XML представление.

Сообщение marc-x » 02 ноя 2012, 15:15

nilrey писал(а):Подскажите, кто решил следующую проблему: при нажатии ctrl+F12 появляется сообщение "Отмена невозможна", и экран остается в вертикальном положении.
У вас установлен Punto Switcher, не так ли? Добавьте эмулятор в программы-исключения у него и на вкладке "Устранение проблем" поставьте галочку "Не взаимодействовать с программами-исключениями" или в "Горячие клавиши" замените Ctrl-F12 на что нибудь другое.
Изображение

fireridlle
Сообщения: 1
Зарегистрирован: 03 ноя 2012, 20:31

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение fireridlle » 03 ноя 2012, 20:36

подскажите в чем беда?
как и говорили использовал версию 2,2
http://s49.radikal.ru/i123/1211/a4/62be6ba73016.jpg

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 5. Layout-файл в Activity. XML представление. Смена

Сообщение damager82 » 06 ноя 2012, 15:53

fireridlle писал(а):подскажите в чем беда?
как и говорили использовал версию 2,2
http://s49.radikal.ru/i123/1211/a4/62be6ba73016.jpg
Странно. Попробуйте еще какие-нить версии.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Ответить