Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
tmp_2008
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 12
#1

Анимация ViewGroup, некорректное поведение кнопки

23.08.2013, 09:47. Просмотров 817. Ответов 7
Метки нет (Все метки)

Всем привет.
Возникла такая проблема. Есть анимация, по клику - блок отодвигается вправо, показывая то, что под ним. Кнопка, запускающая анимацию, находится на этом блоке. Однако, при попытке вернуть блок на место кнопка не реагирует на нажатие. Но реагирует то место, где кнопка была до анимации. Кнопка создается программно.

В чем может быть проблема?

Если сдвигаю блок через setMargins() то нажатие нормально происходит, но нужна именно анимация.

Код создания кнопки
Java
1
2
3
4
5
6
Button button = new Button(context);
button.setTag("1");
button.setText("Wtf");
button.setLayoutParams(layoutParams);
button.setOnClickListener(listener);
this.addView(button);
Код анимации
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TranslateAnimation slideRightAnim = new TranslateAnimation(0, menuSize, 0, 0);
slideRightAnim.setDuration(slideDuration);
slideRightAnim.setFillAfter(true);
 
ViewGroup content = (FrameLayout) act.findViewById(R.id.wrapper);
 
FrameLayout.LayoutParams parm = new FrameLayout.LayoutParams(-1, -1, 3);
        
if(expanded) {
    content.startAnimation(slideLeftAnim);
} else {
    content.startAnimation(slideRightAnim);
}
expanded = !expanded;
Шаблон
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
37
38
39
40
41
42
43
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/field"
    tools:context=".MainActivity" >
 
    <com.example.example.phonegap.Dashboard
        android:id="@+id/dashboard" 
        android:background="@color/blue"
        android:layout_width="250dip"
        android:layout_height="match_parent"
        android:minWidth="100dp"
        android:minHeight="100dp"
        android:tag="dashboard"
     />
        
    <FrameLayout android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/wrapper"
        android:tag="wrapper"
        android:background="@color/green"
        android:layout_marginLeft="50dip"
    >       
        
        <com.example.example.phonegap.Header
            android:id="@+id/header" 
            android:background="@color/green"
            android:layout_width="match_parent"
            android:layout_height="50dip"
            android:tag="wrapper"
         />
    
        <org.apache.cordova.CordovaWebView
            android:id="@+id/tutorialView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="50dip"
            android:tag="wrapper"
        />
        
    </FrameLayout>
</FrameLayout>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 09:47
Ответы с готовыми решениями:

Наследование от ViewGroup
Господа приветствую! Нужно наследоваться от ViewGroup. Поискав в интернете...

Добавить TextView на ViewGroup
Всем привет. Короче новичёк я в андроиде, поэтому сильно не пинайте. Вобщем...

Новое Activity или ViewGroup
Здравствуйте. НЕ подскажите, как нужно правильно реализовать вот такой UI:...

Анимация нажатия кнопки ImageButton
Есть ImageButton - как сделать анимацию уменьшения при нажатии?

Анимация кнопки Android приложение
День добрый ! Я в своем приложении поменял background кнопки на картинку и...

7
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.08.2013, 10:36 #2
Цитата Сообщение от tmp_2008 Посмотреть сообщение
В чем может быть проблема?
в том, что анимация не изменяет координаты кнопки на самом деле.
0
tmp_2008
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 12
23.08.2013, 12:02  [ТС] #3
Ок, и как это можно обойти?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.08.2013, 12:18 #4
поставить туда, где должна кликаться и анимировать к этому место или кастомный лаяут написать.
0
tmp_2008
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 12
23.08.2013, 12:34  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
кастомный лаяут написать
можно подробнее?
0
tmp_2008
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 12
26.08.2013, 07:42  [ТС] #6
V0v1k, вы не могли бы подробне рассказать про кастомный лаяут? Я не могу уловить суть идеи.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
26.08.2013, 13:31 #7
http://www.vogella.com/articles/AndroidCustomViews/article.html
http://arpitonline.com/blog/2012/07/...s-for-android/
0
tmp_2008
0 / 0 / 0
Регистрация: 15.10.2008
Сообщений: 12
27.08.2013, 09:31  [ТС] #8
Я, наверное, чего то не понял, но это не помогло.
Проблема осталась.
0
27.08.2013, 09:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2013, 09:31

Некорректное поведение GetClientRect
Есть MDI приложение. Запущено на машине с 2мя мониторами. На втором - маленькое...

Некорректное поведение клавиатуры
Поставил Mint 17.3, первые пару дней всё работало нормально, затем с...

Некорректное поведение скрипта
Здравствуйте. Есть скрипт( его часть - логирование) $Log = 'Ошибка...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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