Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Узнать приложение которое запустило моё приложение http://www.cyberforum.ru/android-dev/thread1547822.html
Приветствую всех! Помогите разобраться. Есть ли возможность узнать, что за приложение запустило моё приложение? т.е. к примеру мою Activity могут запускать другие приложения, так вот могу ли...
Программирование Android AdMob рекламные сети Хочу уточнить, если добавить в AdMob источник объявлений, например, рекламные сети InMobi или MobFox, что произойдет будут появляться баннеры из сети InMobi или MobFox? и самое главное куда будут... http://www.cyberforum.ru/android-dev/thread1547805.html
Отображение содержимого звукового буфера в логах Программирование Android
while(!stopped) { short buffer = buffers; //short buffer = new short; int n = recorder.read(buffer, 0,...
Проговаривание текста во время вызова Программирование Android
Здравствуйте! Возник вопрос - можно ли во время звонка программно зачитать текст собеседнику? То есть создать как-бы телефонного бота на андроид.
Программирование Android Как реализовать масштабирование рисунка? http://www.cyberforum.ru/android-dev/thread1547544.html
Здравствуйте. Нужно нарисовать схему объекта, аналогия как в дубль гисе, чтобы при увеличении масштаба выводился текст(названия объектов). Решил делать в surfaceview, но не знаю как реализовать...
Программирование Android Документация по xml в Android Дайте пожалуйста документацию по xml для Android, где описаны все теги, такие как TextView, и т. д. Просто я, как это не глупо звучит, слепой программист, и мне недоступно визуальное построение... подробнее

Показать сообщение отдельно
hippik
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 4

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

08.10.2015, 23:03. Просмотров 424. Ответов 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 нужно будет написать свое поведение?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru