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

Урок 7. Layout параметры для View-элементов.

Добавлено: 15 авг 2011, 03:00
damager82
На этом уроке мы:
- разбираемся в характеристиках экрана
- рассматриваем layout параметры (высота, ширина, отступ, гравитация, вес)


Click here to read this article!

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 31 янв 2012, 18:02
btx
Я честно пытался понять зачем нужны значения gravity fill_* и clip_*, но так и не понял. То, что написано про них в хелпе у меня не работает. Если у вас есть сведения по этому поводу – пишите в каменты.
Тут наглядное описание по использованию
http://android-pro.blogspot.com/2010/03 ... ayout.html

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 01 фев 2012, 16:41
damager82
Да, я смотрел этот материал. У меня не работает так как там нарисовано.
На материал аж от 4.10.2009. Возможно это просто рудименты, которые уже не работают, но оставлены для совместимости.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 18 фев 2012, 20:11
VissarioN
Здравствуйте!
Я конечно только новичек в этом деле. Но кажется я понял для чего fill_* и clip_*
Если просто применить gravity, то ни чего не заметно.

Тут с fill_*
Изображение

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

<?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" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="fill_vertical"
        android:text="fill_vertical" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="without fill_vertical" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="fill_horizontal"
        android:text="fill_horizontal" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="without fill_horizontal" />

</LinearLayout>
Тут с clip_*
Изображение

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

<?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="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button2"
        android:layout_width="226dp"
        android:layout_height="wrap_content"
        android:layout_gravity="clip_vertical"
        android:layout_weight="1"
        android:gravity="right"
        android:text="clip vertical" />

    <Button
        android:id="@+id/button4"
        android:layout_width="225dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="without clip" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="clip_horizontal"
        android:layout_weight="1"
        android:gravity="top"
        android:text="clip horizontal" />

    <Button
        android:id="@+id/button5"
        android:layout_width="113dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="without clip" />

</LinearLayout>

Если ошибся по поводу fill_* и clip_* извиняйте!


Извените за кучу текста, но почему-то у меня не пашет спойлер.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 21 фев 2012, 06:06
яфпкк
привет всем, крутой сайт
теперь я с вами
вопрос по теме с margin'ами в tableLayout.
Почему верхняя средняя кнопка растягивается по горизонтали автоматически, при увеличении отступов у центральной, а левая средняя по вертикали - нет, хотя у обеих указаны
android:layout_width="wrap_content"
android:layout_height="wrap_content"
не понятно почему первая растягивается при таких свойствах

Логично предположить, для того чтобы кнопка растянулась по вертикали, необходимо указать android:layout_height="match_parent"

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 22 фев 2012, 09:33
damager82
яфпкк писал(а): Почему верхняя средняя кнопка растягивается по горизонтали автоматически, при увеличении отступов у центральной, а левая средняя по вертикали - нет, хотя у обеих указаны
android:layout_width="wrap_content"
android:layout_height="wrap_content"
А я как-то не обратил внимания на это. Действительно нелогично.
Остается гадать, баг это или фича.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 07 мар 2012, 21:11
KamiSempai
Столкнулся с такой проблемой, если двум элементам задать ширину "wrap_content" и вес "1", то их размеры все равно распределяются не равномерно.
Больше места занимает тот элемент на котором длиннее текст.
Единственное, что я смог придумать, указать ширину одного элемента через абсолютное значение "dp". Но в этом случае прийдется делать отдельный лайот для ландшафтного вида.
Можно как-то решить эту проблему другим способом?

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 12 май 2012, 11:44
smival
KamiSempai писал(а):Столкнулся с такой проблемой, если двум элементам задать ширину "wrap_content" и вес "1", то их размеры все равно распределяются не равномерно.
Больше места занимает тот элемент на котором длиннее текст.
Единственное, что я смог придумать, указать ширину одного элемента через абсолютное значение "dp". Но в этом случае прийдется делать отдельный лайот для ландшафтного вида.
Можно как-то решить эту проблему другим способом?
поменяй на fill_parent

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 12 май 2012, 18:19
KamiSempai
smival писал(а):поменяй на fill_parent
Вот оно как. Спасибо, учту в будущем.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 14 май 2012, 09:57
damager82
KamiSempai писал(а):
smival писал(а):поменяй на fill_parent
Вот оно как. Спасибо, учту в будущем.
Можно еще использовать "0dp". Гугл так и рекомендует. Ща дополню урок.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 03 июл 2012, 13:08
rezak90
как в TextView сделать ориентацию текста вертикальной? В гугле полно как то примеров но рабочего не нашел. Использую TextView в RelativeLayout.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 03 июл 2012, 17:41
damager82
rezak90 писал(а):как в TextView сделать ориентацию текста вертикальной? В гугле полно как то примеров но рабочего не нашел. Использую TextView в RelativeLayout.
Тут вполне рабочие решения, попробуйте: http://stackoverflow.com/questions/2888 ... in-android

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 30 авг 2012, 17:13
Kitty
У меня нижние кнопки gravity = bottom right и gravity = bottom left наползли друг на друга, если указать fill_parent, они обе растягиваются на всю ширину экрана (одна на одной получается), мне почему-то казалось что они должны переносить свой текст на следующую строку и увеличиваться вверх - чтобы не мешать друг другу. Можно ли решить эту проблему? или нужен другой layout?

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 30 авг 2012, 20:23
rezak90
Kitty писал(а):У меня нижние кнопки gravity = bottom right и gravity = bottom left наползли друг на друга, если указать fill_parent, они обе растягиваются на всю ширину экрана (одна на одной получается), мне почему-то казалось что они должны переносить свой текст на следующую строку и увеличиваться вверх - чтобы не мешать друг другу. Можно ли решить эту проблему? или нужен другой layout?
лучше кинь сюда лейаут файл, а то на словах трудно понять в чём проблема.

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 31 авг 2012, 14:39
Kitty

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|left"
android:text="gravity = top left">
</Button>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|right"
android:text="gravity = top right">
</Button>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:text="gravity = bottom left">
</Button>
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:text="gravity = bottom right">
</Button>
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="gravity = center">
</Button>
</FrameLayout>
</LinearLayout>
Все как в уроке, подозреваю, что если сделать надписи на кнопках длиннее, то и у вас получится то же самое

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 31 авг 2012, 17:18
rezak90
вставил и себе этот код в лейаут, поначалу не было видно, поклацал смену экранов просмотра (вкладка GraphicLayout в верху) и всё появилось. Наверное глюк Eclips'a

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 02 сен 2012, 14:48
MeTeOpA
У меня такой вопрос. На экране находятся 2 картинки. Одна прижата к верху, другая к низу. на нижней картинке налеплен EditText. Вылазит клавиатура, и верхняя картинка, скрывается. Как сделать так чтобы были видны обе картинки?

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 03 сен 2012, 20:14
MeTeOpA
up! так сказать...

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 03 сен 2012, 21:44
rezak90
MeTeOpA писал(а):У меня такой вопрос. На экране находятся 2 картинки. Одна прижата к верху, другая к низу. на нижней картинке налеплен EditText. Вылазит клавиатура, и верхняя картинка, скрывается. Как сделать так чтобы были видны обе картинки?
картинка пропадает или её замещает клавиатура?

Re: Урок 7. Layout параметры для View-элементов.

Добавлено: 05 сен 2012, 10:33
pshogg
Здравствуйте! До этого урока всё получалось хорошо (иногда находя ответы на форуме), а теперь возникла ситуация которую никак не могу победить! Итак: у меня при создании нового проекта, когда открываю main корень, по умолчанию создается RelativeLayout вместо LinearLayout, как вернуть умолчания? я уже и Eclipse сносил, заново всё настраивал, а воз и ныне..)