Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
А можно скрины myscreen и content_myscreen?
Нужно подредактировать myscreen и вместо записей c activity_main написать myscreen.
Нужно подредактировать myscreen и вместо записей c activity_main написать myscreen.
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Пожалуйста, код:Megamozg писал(а):А можно скрины myscreen и content_myscreen?
Нужно подредактировать myscreen и вместо записей c activity_main написать myscreen.
my.screen.xml вертикальный
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Вертикальная ориентация экрана">
</TextView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button1">
</Button>
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button2">
</Button>
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button3">
</Button>
<Button
android:id="@+id/button4"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button4">
</Button>
</LinearLayout>
</LinearLayout>[/syntax]
my.screen.xml горизонтальный
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Горизонтальная ориентация экрана">
</TextView>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button1">
</Button>
<Button
android:id="@+id/button2"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button2">
</Button>
<Button
android:id="@+id/button3"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button3">
</Button>
<Button
android:id="@+id/button4"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="Button4">
</Button>
</LinearLayout>
</LinearLayout>[/syntax]
content_main.xml
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity">
<TextView android:text="Hello World!" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
[/syntax]
Если в 10 строке файла content_main.xml изменить на:
[syntax=xml]tools:showIn="@layout/myscreen" tools:context=".MainActivity">[/syntax]
то выбивает вот такое, на вкладе Preview:
Rendering Problems
The surrounding layout (@layout/myscreen) did not actually include this layout. Remove tools:showIn=... from the root tag
Кажется нашел решение проблемы, но еще не полностью.
activity_main.xml
[syntax=xml]<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:fitsSystemWindows="true"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout android:layout_height="wrap_content"
android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main"
android:layout_height="match_parent"
android:layout_width="match_parent" />
<android.support.design.widget.FloatingActionButton android:id="@+id/fab"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
[/syntax]
Если в 18 строке изменить на:
[syntax=xml]<include layout="@layout/myscreen"[/syntax]
то вот такое получается: а в файле myscreen.xml все так: Не подскажите что изменить чтобы все было как надо ?
Хотя после этого в файле сontent_main.xml все равно вот такая ошибка: Но эмулятор запускается, только вот отображает не так как надо.
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
При смене ориентации эмулятора с использованием Ctrl+F12, ориентация меняется, но изображение остается вертикальным.
Вертикальное: Горизонтальное:
Вертикальное: Горизонтальное:
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
сам в Бланке не делал.. только в Эмпти..
Но что увидел щас у вас:
1.my.screen.xml вертикальный ( у вас стоит android:orientation="vertical">) все норм..
2.my.screen.xml горизонтальный ( у вас стоит android:orientation="vertical"> ) СНОВА????? куда он будет переключаться?? должно быть hjrizontal и это файл ИМЕННо в папке Layout-land.
Измените... вроде в content_main.xml все норм.. там и Вертик. задана и Горизонт..
если не заработает то content_main.xml сделайте еще и впапку Layout-land ( Я так думаю...)
Но что увидел щас у вас:
1.my.screen.xml вертикальный ( у вас стоит android:orientation="vertical">) все норм..
2.my.screen.xml горизонтальный ( у вас стоит android:orientation="vertical"> ) СНОВА????? куда он будет переключаться?? должно быть hjrizontal и это файл ИМЕННо в папке Layout-land.
Измените... вроде в content_main.xml все норм.. там и Вертик. задана и Горизонт..
если не заработает то content_main.xml сделайте еще и впапку Layout-land ( Я так думаю...)
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Все делал по уроку, так и должно быть, снизу в "my.screen.xml горизонтальный", а именно в строке 17 пишет: [syntax=xml]android:orientation="horizontal">[/syntax]Omax писал(а):сам в Бланке не делал.. только в Эмпти..
Но что увидел щас у вас:
1.my.screen.xml вертикальный ( у вас стоит android:orientation="vertical">) все норм..
2.my.screen.xml горизонтальный ( у вас стоит android:orientation="vertical"> ) СНОВА????? куда он будет переключаться?? должно быть hjrizontal и это файл ИМЕННо в папке Layout-land.
Файл находится в папке layout-land:
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Сделал сам..
1. создаем папку layout-lands в Res.;
2. создаем myscreen.xml в layout. ( В него я просто скопировал кнопки из моего проекта в Empty_Activity). с параметром vertical;
3. копируем myscreen.xml в layout-lands и меняем параметр на horizontal;
4. в файле activity_main ( 18 строка у тебя есть <include layout="@layout/content_main" />) меняем на (<include layout="@layout/myscreen" />
запускаем! проверил на реальном устройстве.. работает. только кнопки налезли на статус бар, но я их ведь и не менял.. но при смене ориентации все меняется)
1. создаем папку layout-lands в Res.;
2. создаем myscreen.xml в layout. ( В него я просто скопировал кнопки из моего проекта в Empty_Activity). с параметром vertical;
3. копируем myscreen.xml в layout-lands и меняем параметр на horizontal;
4. в файле activity_main ( 18 строка у тебя есть <include layout="@layout/content_main" />) меняем на (<include layout="@layout/myscreen" />
запускаем! проверил на реальном устройстве.. работает. только кнопки налезли на статус бар, но я их ведь и не менял.. но при смене ориентации все меняется)
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
1.layout-land у меня есть в res(выше скрин).Omax писал(а):Сделал сам..
1. создаем папку layout-lands в Res.;
2. создаем myscreen.xml в layout. ( В него я просто скопировал кнопки из моего проекта в Empty_Activity). с параметром vertical;
3. копируем myscreen.xml в layout-lands и меняем параметр на horizontal;
4. в файле activity_main ( 18 строка у тебя есть <include layout="@layout/content_main" />) меняем на (<include layout="@layout/myscreen" />
запускаем! проверил на реальном устройстве.. работает. только кнопки налезли на статус бар, но я их ведь и не менял.. но при смене ориентации все меняется)
2.myscreen.xml в layout так же есть(выше скрин и код)
3.myscreen.xml в ayout-land так же есть(выше скрин и код)
4.Я это менял(выше так же есть скрин и я писал об этом), но вот не понравилось что кнопки налезают слишком наверх и спрашивал как это изменить.
На эмуляторе все равно при смене ориентации не меняется ничего, возможно глючит эмулятор если у Вас на реальном устройстве все работает.
Проверил даже если не запускаю приложение то при смене ориентации экрана эмулятора, он не меняет ничего: Спасибо Вам большое за уделенное время и советы.
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
я подключил свой старенький Alkatel one каой то там 4.2.2 и доволен как слон, не надо мучаться с эму..
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Поменял Anroid на версию 5.0.1 и в нем ориентация меняется как надо. В Android 6.0 с этим проблемы.Omax писал(а):я подключил свой старенький Alkatel one каой то там 4.2.2 и доволен как слон, не надо мучаться с эму..
К сожалению у меня нету ни одного устройства с Android, приходится мучиться с эмулятором )
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
вот и решена проблема;-) а зачем тогда тебе на андроид програмирование?QDAS писал(а):Поменял Anroid на версию 5.0.1 и в нем ориентация меняется как надо. В Android 6.0 с этим проблемы.Omax писал(а):я подключил свой старенький Alkatel one каой то там 4.2.2 и доволен как слон, не надо мучаться с эму..
К сожалению у меня нету ни одного устройства с Android, приходится мучиться с эмулятором )
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Для общего развития, да и область довольно таки популярна в наше время и думаю популярность будет только расти, т.е Android разработчиков будет требоваться больше да больше.Omax писал(а):вот и решена проблема;-) а зачем тогда тебе на андроид програмирование?
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
В Эмпти нет проблем. Пробую в бланке , использовал замеченные изменения майн_активити на майскрин от QDAS , но все равно никак. не запускается. устал, толторы сутки на работе , надо отдохнуть и с утра еще рассмотреть код. и кстати а в чем суть этого различия Бланк и Емпти , чем отличаются то . что дает этот статус бар . Нельзя ли было этот статус бар как кнопочку ставить в Эмпти, зачем обязательно другой тип модуля Бланк?
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Здраствуйте. Уже часа 4 прошли на решение проблемы, но так и не получилось ничего. Когда в MainActivity меняю main на myscreen выбивает ошибку. Причём на разных эмуляторах и реальных устройствах с разными версиями андроид, бестолку. Также пробывал через создание content_myscreen.xml и myscreen.xml так как на последней версии Android Studio main и content_main. Даже на всякий случай настройки Android Studio сбил по умолчанию, всеравно не помогает.
Если кто то может помочь дельным советом буду признателен.
http://piccy.info/view3/8854080/3080e74 ... e985/orig/
Прочитавши Turalllb действительно в Empty Activity без проблем создается и оно как раз более приближенное к примеру так как нету content_main.xml
Хотелось бы узнать тоже в чём разница между этими Activity и на сколько она существенная
Если кто то может помочь дельным советом буду признателен.
http://piccy.info/view3/8854080/3080e74 ... e985/orig/
Прочитавши Turalllb действительно в Empty Activity без проблем создается и оно как раз более приближенное к примеру так как нету content_main.xml
Хотелось бы узнать тоже в чём разница между этими Activity и на сколько она существенная
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
В файле MainActivity, а конкретней тут:Тихоня писал(а):Здраствуйте. Уже часа 4 прошли на решение проблемы, но так и не получилось ничего. Когда в MainActivity меняю main на myscreen выбивает ошибку. Причём на разных эмуляторах и реальных устройствах с разными версиями андроид, бестолку. Также пробывал через создание content_myscreen.xml и myscreen.xml так как на последней версии Android Studio main и content_main. Даже на всякий случай настройки Android Studio сбил по умолчанию, всеравно не помогает.
Если кто то может помочь дельным советом буду признателен.
http://piccy.info/view3/8854080/3080e74 ... e985/orig/
[syntax=java]setContentView(R.layout.activity_main);[/syntax]
Надо чтобы стоял только модуль activity_main.
А в самом модуле activity_main, а конкретней тут:
[syntax=xml]<include layout="@layout/content_main" />[/syntax]
Ставим наш модуль который желаем чтобы запустился, в моем случае это content_main.
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
не трогайте main !!!!!! создавайте myscreen.xml, удаляйте content_myscreen.xml а в main естьТихоня писал(а):Здраствуйте. Уже часа 4 прошли на решение проблемы, но так и не получилось ничего. Когда в MainActivity меняю main на myscreen выбивает ошибку. Причём на разных эмуляторах и реальных устройствах с разными версиями андроид, бестолку. Также пробывал через создание content_myscreen.xml и myscreen.xml так как на последней версии Android Studio main и content_main. Даже на всякий случай настройки Android Studio сбил по умолчанию, всеравно не помогает.
Если кто то может помочь дельным советом буду признателен.
http://piccy.info/view3/8854080/3080e74 ... e985/orig/
Прочитавши Turalllb действительно в Empty Activity без проблем создается и оно как раз более приближенное к примеру так как нету content_main.xml
Хотелось бы узнать тоже в чём разница между этими Activity и на сколько она существенная
такая строка <include layout="@layout/content_main" /> жирным меняете на myscreen и будет вам щастье)))
не забываем myscreen.xml скопировать в папку layout-land и поменять там параметр на horizontal
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Спасибо за подробное обьяснение, для новичка это крайне важно. Если будет возможность ответьте.Omax писал(а):
не трогайте main !!!!!! создавайте myscreen.xml, удаляйте content_myscreen.xml а в main есть
такая строка <include layout="@layout/content_main" /> жирным меняете на myscreen и будет вам щастье)))
не забываем myscreen.xml скопировать в папку layout-land и поменять там параметр на horizontal
1. Если не затруднит можете обьяснить почему так произошло, текст сместился вверх. Скрин http://piccy.info/view3/8861571/3a1d991 ... 28dc/orig/
2. В примере одно, а тут мы менем через include. Я скорее не прав, поправьте. Запускаем приложение, читается файл MainActivity затем он с помощью setContentView(R.layout.main); перебрасывает на чтение файла main.xml, а main.xml в свою очередь с помощи include перебрасывает на чтение mysreen.
3. И почему в данном BlankActivity всё так замудрено в отличии от Empty где по сути можно сделать как в примере. Почему нельзя в нашем случае просто изменить ссылку в setContentView(R.layout........)
4. Также хотелось бы уточнить у меня в файле strings нету HelloWorld, сам я его из этого файла тоже не удалял вручную. Значит ли это что он был просто текстом без идентификатора.
Вот что у меня в strings.xml
<resources>
<string name="app_name">P0051_LayoutFile2</string>
<string name="action_settings">Settings</string>
<string name="myscreen">Этот экран написан не в main.xml а в myscreen.xml</string>
</resources>
Вот все @string которые у меня есть, возможно их надо импортировать откуда то? http://piccy.info/view3/8862053/49e540b ... e367/orig/
С уважением Тихоня)
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Файлы .xml это файлы описания элементов находящихся на экране. Можно их создавать и напрямую в Активити, в уроках позднее это увидите.
Урок снят был до появления последней версии Студии, в которой уже реализовали компоненты Материал Дизайн. Это именно кнопка внизу экрана с конвертиком. И добавили этот элемент сразу в Бланк Активити. Вы можете использовать только Эмпти, как вам удобно..
В Бланк Активити экраном является ваш main.xml или activity_main.xml если вы не меняли имя. Откройте этот файл и посмотрите что там есть. Разберитьсь. Старайтесь понять что и для чего, простое копирование кода вас ни чему не научит, Поиск Гугл рулит, это не единственный ресурс для обучения. Просмотрите файл Activity и тоже Разберитьсь что и зачем и поймете что ни чего замедленного там нету. Для о.учения хватит и Эмпти. Но советую разобраться сразу.
А в файле ontent_main.xml описаны элементы которые вы добавляете...
Урок снят был до появления последней версии Студии, в которой уже реализовали компоненты Материал Дизайн. Это именно кнопка внизу экрана с конвертиком. И добавили этот элемент сразу в Бланк Активити. Вы можете использовать только Эмпти, как вам удобно..
В Бланк Активити экраном является ваш main.xml или activity_main.xml если вы не меняли имя. Откройте этот файл и посмотрите что там есть. Разберитьсь. Старайтесь понять что и для чего, простое копирование кода вас ни чему не научит, Поиск Гугл рулит, это не единственный ресурс для обучения. Просмотрите файл Activity и тоже Разберитьсь что и зачем и поймете что ни чего замедленного там нету. Для о.учения хватит и Эмпти. Но советую разобраться сразу.
А в файле ontent_main.xml описаны элементы которые вы добавляете...
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
В файле string.xml описаны строковые ресурсы, т.е. все что у вас будет написано на экране должно быть здесь. А Hello world, да не содержит изначально id , и может и строковые не содержать, я удаляй сразу TextView начальное..
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Спасибо за ответ, буду старатся))Omax писал(а):Файлы .xml это файлы описания элементов находящихся на экране. Можно их создавать и напрямую в Активити, в уроках позднее это увидите.
Урок снят был до появления последней версии Студии, в которой уже реализовали компоненты Материал Дизайн. Это именно кнопка внизу экрана с конвертиком. И добавили этот элемент сразу в Бланк Активити. Вы можете использовать только Эмпти, как вам удобно..
В Бланк Активити экраном является ваш main.xml или activity_main.xml если вы не меняли имя. Откройте этот файл и посмотрите что там есть. Разберитьсь. Старайтесь понять что и для чего, простое копирование кода вас ни чему не научит, Поиск Гугл рулит, это не единственный ресурс для обучения. Просмотрите файл Activity и тоже Разберитьсь что и зачем и поймете что ни чего замедленного там нету. Для о.учения хватит и Эмпти. Но советую разобраться сразу.
А в файле ontent_main.xml описаны элементы которые вы добавляете...
Возможно кому то ещё пригодится обьяснение что делает include layout.
"В секции Custom можно увидеть компонент <include>. Если вы имели дело с PHP, то данный тег вам уже знаком. Он позволяет вставить заранее подготовленный кусок разметки в вашу рfзметку. Зачем это нужно? Представьте себе, что у вас сложное приложение, состоящее из нескольких активностей. И в каждой активности есть один и тот же одинаковый элемент, например, футер для отображения логотипа компании или текста. Чтобы не повторять одинаковый блок в каждой активности по отдельности, можно создать отдельную разметку и через include добавлять в нужное место."
Re: Урок 5. Layout-файл в Activity. XML представление. Смена
Здравствуйте!
У меня такая проблема, что когда я поменяла аргументы метода setContentView. с R.layout.activity_main на R.layout.myscreen в Эмуляторе выходит ошибка о том , что LayoutFiles остановлен.
Что мне делать???
Помогите пожалуйста!! Я уже не знаю что делать. Смотрела что в комментах выше говорят..пробовала, не получается ни чего(((
Кто знает в чем дело, помогите. И если можно распишете по подробней что мне делать нужно.
У меня такая проблема, что когда я поменяла аргументы метода setContentView. с R.layout.activity_main на R.layout.myscreen в Эмуляторе выходит ошибка о том , что LayoutFiles остановлен.
Что мне делать???
Помогите пожалуйста!! Я уже не знаю что делать. Смотрела что в комментах выше говорят..пробовала, не получается ни чего(((
Кто знает в чем дело, помогите. И если можно распишете по подробней что мне делать нужно.