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

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

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

Сообщение damager82 » 08 авг 2011, 03:00

На прошлом уроке мы выяснили, что Activity читает layout-файл и отображает то, что в нем сконфигурировано. Теперь выясним, откуда Activity знает, какой именно layout-файл читать. 


Click here to read this article!
Последний раз редактировалось damager82 12 июн 2017, 12:23, всего редактировалось 27 раз.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

panda30
Сообщения: 4
Зарегистрирован: 18 янв 2012, 15:06

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

Сообщение panda30 » 18 янв 2012, 15:08

подскажите...в чем ошибка? Делаю все в точности как написано, но потом "android:text="Какой-то текст" /> " подчеркивается желтым (в main.xml) и такая же история с текстом в в myscreen.xml.
Сама ошибка вот: [I18N] Hardcoded string "Какой-то текст", should use @string resource

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

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

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

panda30 писал(а):подскажите...в чем ошибка? Делаю все в точности как написано, но потом "android:text="Какой-то текст" /> " подчеркивается желтым (в main.xml) и такая же история с текстом в в myscreen.xml.
Сама ошибка вот: [I18N] Hardcoded string "Какой-то текст", should use @string resource
Это скорее рекомендация, а не ошибка. Нам говорят, что надо хранить тексты в файлах ресурсов и использовать только ссылку на ресурс. И это правильно.
А я в своих уроках использую сразу текст, чтобы не усложнять.

В уроке 11 я рассказываю о ресурсах.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

panda30
Сообщения: 4
Зарегистрирован: 18 янв 2012, 15:06

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

Сообщение panda30 » 18 янв 2012, 18:56

Так проблема в том, что он не запускают потом программу...:(


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

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

Сообщение damager82 » 18 янв 2012, 19:59

Судя по скрину, файл screen.out.xml - пустой?
Удалите его или заполните чем-нить.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

panda30
Сообщения: 4
Зарегистрирован: 18 янв 2012, 15:06

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

Сообщение panda30 » 18 янв 2012, 20:36

все))я разобрался))моя дурная голова)я нажимал CTRL+F11 когда был активен не корень программы, а какая я то его часть)

Sapfil
Сообщения: 3
Зарегистрирован: 12 фев 2012, 18:58

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

Сообщение Sapfil » 12 фев 2012, 19:01

В поле File вводим имя файла: myscreen.xml и жмем Finish. Новый layout-файл должен сразу открыться. Добавим TextView и через Properties изменим его текст на: «Этот экран описан не в main.xml, а в myscreen.xml», сохраняем.
Перед тем как создавать TextView надо создать любой Layout в нашем новом XML, иначе .java-файл его не воспримет. Понимаю, что это должно быть очевидно, но я по незнанию потерял на это минут 15).

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

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

Сообщение damager82 » 14 фев 2012, 16:58

Если создавать файл визардом, то он по дефолту LinearLayout вставляет в корень.
У вас не так?
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

man4ik
Сообщения: 2
Зарегистрирован: 18 фев 2012, 21:10

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

Сообщение man4ik » 18 фев 2012, 21:15

Подскажите пожалуйста, запускаю приложение, в эмуляторе, вижу вертикальный режим и соответствующий xml файл, жму кнтр+ф12, переходит в горизонтальный режим и запускается xml файл из layout-land, жму еще раз кнтрл+ф12, переходит в вертикальный режим но xml файл остается тот же, что и при горизонтальном? Почему так?

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

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

Сообщение damager82 » 22 фев 2012, 09:04

man4ik писал(а):Подскажите пожалуйста, запускаю приложение, в эмуляторе, вижу вертикальный режим и соответствующий xml файл, жму кнтр+ф12, переходит в горизонтальный режим и запускается xml файл из layout-land, жму еще раз кнтрл+ф12, переходит в вертикальный режим но xml файл остается тот же, что и при горизонтальном? Почему так?
Эмулятор с Android 2.3 почему-то глючит при поворотах. Попробуйте на других версиях
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
MeTeOpA
Сообщения: 85
Зарегистрирован: 07 мар 2012, 12:50

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

Сообщение MeTeOpA » 07 мар 2012, 12:59

В поле File вводим имя файла: myscreen.xml и жмем Finish. Новый layout-файл должен сразу открыться. Добавим TextView и через Properties изменим его текст на: «Этот экран описан не в main.xml, а в myscreen.xml», сохраняем.
Вот что получается...
Изображение

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 07 мар 2012, 13:42

Ошибка в файле XML. Такое случается если не правильно прописать свойство. Что у Вас находится в самом файле?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
MeTeOpA
Сообщения: 85
Зарегистрирован: 07 мар 2012, 12:50

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

Сообщение MeTeOpA » 07 мар 2012, 14:44

вот... :

<?xml version="1.0" encoding="UTF-8"?>

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 07 мар 2012, 16:29

MeTeOpA писал(а):вот... :
<?xml version="1.0" encoding="UTF-8"?>
Хм... Я бы сказал, что там нет ничего.
Файл myscreen.xml должен выглядеть примерно так:

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

<?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/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Этот экран описан не в main.xml, а в myscreen.xml" />
</LinearLayout>
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
MeTeOpA
Сообщения: 85
Зарегистрирован: 07 мар 2012, 12:50

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

Сообщение MeTeOpA » 07 мар 2012, 18:17

А почему тогда создается пустой хмл?...
Мне просто интересно...

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 07 мар 2012, 20:09

Если при создании XML файла, в открывшемся окне, в правом верхнем углу нет зеленого робота, значит Вы создаете простой файл XML.
Возможно не правильно установлен SDK.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 27 мар 2012, 19:40

Создал описание нового класса на базе ListView. Как мне его добавить в xml?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

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

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

Сообщение damager82 » 28 мар 2012, 09:15

KamiSempai писал(а):Создал описание нового класса на базе ListView. Как мне его добавить в xml?
С точки зрения XML также как ListView, только вместо ListView пишите свой класс с пакетом.

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

<com.mypackage.MyListView
  android:id="@+id/listView1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 28 мар 2012, 17:38

Спасибо, я так и думал. У меня конструктор был не подходящий, оказывается нужно было добавить параметр "AttributeSet attrs".
Как то так: public MyListView(Context context, AttributeSet attrs).
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить