Страница 1 из 19

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

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


Click here to read this article!

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

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

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

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

В уроке 11 я рассказываю о ресурсах.

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

Добавлено: 18 янв 2012, 18:56
panda30
Так проблема в том, что он не запускают потом программу...:(

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

Добавлено: 18 янв 2012, 19:22
panda30
http://s59.radikal.ru/i163/1201/4a/653eed454987.jpg вот что вылезает...

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

Добавлено: 18 янв 2012, 19:59
damager82
Судя по скрину, файл screen.out.xml - пустой?
Удалите его или заполните чем-нить.

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

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

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

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

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

Добавлено: 14 фев 2012, 16:58
damager82
Если создавать файл визардом, то он по дефолту LinearLayout вставляет в корень.
У вас не так?

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

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

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

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

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

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

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

Добавлено: 07 мар 2012, 13:42
KamiSempai
Ошибка в файле XML. Такое случается если не правильно прописать свойство. Что у Вас находится в самом файле?

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

Добавлено: 07 мар 2012, 14:44
MeTeOpA
вот... :

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

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

Добавлено: 07 мар 2012, 16:29
KamiSempai
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>

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

Добавлено: 07 мар 2012, 18:17
MeTeOpA
А почему тогда создается пустой хмл?...
Мне просто интересно...

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

Добавлено: 07 мар 2012, 20:09
KamiSempai
Если при создании XML файла, в открывшемся окне, в правом верхнем углу нет зеленого робота, значит Вы создаете простой файл XML.
Возможно не правильно установлен SDK.

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

Добавлено: 27 мар 2012, 19:40
KamiSempai
Создал описание нового класса на базе ListView. Как мне его добавить в xml?

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

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

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

<com.mypackage.MyListView
  android:id="@+id/listView1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />

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

Добавлено: 28 мар 2012, 17:38
KamiSempai
Спасибо, я так и думал. У меня конструктор был не подходящий, оказывается нужно было добавить параметр "AttributeSet attrs".
Как то так: public MyListView(Context context, AttributeSet attrs).