Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
hippik
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 4
#1

CoordinatorLayout. Поведения - Программирование Android

08.10.2015, 23:03. Просмотров 372. Ответов 0
Метки нет (Все метки)

Воодушевившись примером (ScrollActivity) из AndroidStudio, решил понять как это работает и создать свой похожий вариант.
RelativeLayout, за ним следует NestedScrollView. Когда прокручиваешь содержимое страницы вниз, scrollView занимает больше место на странице тем самым уменьшая realtiveLayot вместе с его содержимом до определенного значения.

layout
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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">
 
 
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="160dp"
            app:layout_behavior="my.package.CustomBehavior"
            android:background="@android:color/holo_red_dark">
 
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TEXT"
                android:id="@+id/textView"
                android:layout_centerInParent="true"
                 />
 
        </RelativeLayout>
 
        <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">
 
            <TextView android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/large_text" />
 
        </android.support.v4.widget.NestedScrollView>
 
</android.support.design.widget.CoordinatorLayout>


behavior
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class CustomBehavior extends CoordinatorLayout.Behavior {
 
    private int totalY;
    public CustomBehavior(Context context, AttributeSet attrs) {
        super();
    }
 
    @Override
    public void onNestedScroll(CoordinatorLayout coordinatorLayout, View child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) {
        super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);
 
        totalY -=dyConsumed;
        if(totalY>-100)
            child.setTranslationY(totalY);
 
    }
 
}


Мне не удалось реализовать пару моментов:
1) В моем layoyt relativeLayout накладывается на nestedScrollView. Если их оба завернуть в вертикальный linearLayout , то поведения уже не будут срабатывать. Почему?

2)Мне нужно чтоб от изменения RelativeLayout TextView находящийся в нем, тоже менялся (размер шрифта и положение)
Могу ли я в том же CustomBehavior это реализовать (layoutDependsOn->onDependentViewChanged)? Или для TextVIew нужно будет написать свое поведение?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2015, 23:03     CoordinatorLayout. Поведения
Посмотрите здесь:

CoordinatorLayout, разборки со слоями? - Программирование Android
есть два файла: app_bar_main.xml &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;android.support.design.widget.CoordinatorLayout...

Последовательный сдвиг элементов в CoordinatorLayout - Программирование Android
Здравствуйте. Я пробую сделать активность с дизайном как в приложении News Republi...

off: Правила поведения - Шутки юмора
Здравствуйте, товарищи 1с-ники. Наткнулся на &quot;хорошее&quot; руководство. 1. Правила поведения бухгалтера при работе с программой 1С ...

Отличница легкого поведения
Отличный фильм, только что посмотрел. Девчонка просто красавица, буду ждать новых фильмов с ее участием. Снялась бы другая, было б...

Странные поведения с float - C++
Здравствуйте, объясните пожайлуста почему при выполеннии этого кода: #include &lt;iostream&gt; using namespace std; int main () { ...

Странности поведения матриц - C++
При реализации класса матриц магия C++ проявила себя уже на сложении. При сложении каким-то образом портится правый операнд (внутренняя...

Исследование поведения функции - MathCAD
Исследовать поведение функции sqrt(a,e) при отрицательных значениях a. Изменить программу так, чтобы для отрицательных значений a...

Поведения неисправных чипов - Компьютерное железо
Этот топ скорее носит вопросительный характер. Мне вот интересно )) Как специалисты из компьютерного сервиса выявляют ту или иную...

Симуляция поведения схемы - Программируемая логика
Доброго времени суток... У меня такой вопрос, нуждаюсь в вашем совете. Есть &quot;Структурная схема вычитателя&quot; на какой программе лучше...

Изменение поведения гиперссылки. - JavaScript
Как сделать так, чтобы при щелчке ЛЕВОЙ кнопкой мыши по гиперссылке появился диалог 'Save As' и файл загрузился бы в выбранную директорию,...

Правила поведения в чате - Шутки юмора
1. Прочти правила. 2. Прочти правила до конца. 3. Не надо выпендриваться и называть других «лохами», «чертями» и т.п… Вылетишь… ...

Моделирование поведения курицы - C#
Написать программу, моделирующую поведение курицы (Hen) путём создания соответствующего класса. Каждой курице дают уникальное имя и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru