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

Урок 20. Анимация

Добавлено: 29 сен 2011, 03:00
damager82
В этом уроке мы:

- рассмотрим анимацию View-компонентов

Click here to read this article!

Re: Урок 20. Анимация

Добавлено: 24 мар 2012, 15:22
krack-digger
Укажите пожалуйста полный код с import android.

Re: Урок 20. Анимация

Добавлено: 26 мар 2012, 09:49
damager82
Сюда пока скину

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

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.MenuItem;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.TextView;

Re: Урок 20. Анимация

Добавлено: 27 мар 2012, 11:58
krack-digger
Спасибо большое!

Re: Урок 20. Анимация

Добавлено: 09 май 2012, 11:00
ilya
создал проект, android 2.2, api level 8
скопировал пример, при билде проекта ошибки:
Description Resource Path Location Type
main cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 28 Java Problem
myalpha cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 60 Java Problem
mycombo cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 77 Java Problem
myrotate cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 73 Java Problem
myscale cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 65 Java Problem
mytrans cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 69 Java Problem

Почему не получается разрешить имена ресурсов?

Re: Урок 20. Анимация

Добавлено: 09 май 2012, 13:31
ilya
ilya писал(а):создал проект, android 2.2, api level 8
скопировал пример, при билде проекта ошибки:
Description Resource Path Location Type
main cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 28 Java Problem
myalpha cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 60 Java Problem
mycombo cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 77 Java Problem
myrotate cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 73 Java Problem
myscale cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 65 Java Problem
mytrans cannot be resolved or is not a field Test20Activity.java /test20/src/com/test20 line 69 Java Problem

Почему не получается разрешить имена ресурсов?
Проблема была в import android.R;
Видимо он добавляется при ctrl+shift+o

Re: Урок 20. Анимация

Добавлено: 02 июн 2012, 12:22
alex6999
сделал вот так вот

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

		anim = AnimationUtils.loadAnimation(this, R.anim.mycombo);
		tvHour.startAnimation(anim);
		anim = AnimationUtils.loadAnimation(this, R.anim.myrotate);
		tvHour.startAnimation(anim);
у меня два раза выполняется вращение, т.е. из фукции следует прямой вызов, можно запустить плясать все элементы в пляску одновременно

стал копать, нашёл интересный атрибут android:ordering="sequentially" делал как в хелпах - неработает

вообщем я сделал так

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

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
        >
  	<set>
		<rotate
	 	android:fromDegrees="0"
	 	android:toDegrees="360"
	 	android:duration="3000"
	 	android:pivotX="50%"
	 	android:pivotY="50%">
		</rotate>
		<scale
	 	android:fromXScale="0.1"
	 	android:toXScale="1.0"
	 	android:fromYScale="0.1"
	 	android:toYScale="1.0"
	 	android:pivotX="50%"
	 	android:pivotY="50%"
	 	android:duration="3000">
		</scale>
	</set>
	    <rotate
	        android:startOffset="2600"
 			android:fromDegrees="0"
 			android:toDegrees="360"
 			android:duration="6000"
 			android:repeatCount="2"
 	 		android:pivotX="50%"
	 		android:pivotY="50%"
			>
 		</rotate>
</set>
задержку поставил 2600, чтобы убрать лаг в переключении анимации
а вот android:repeatCount="2" надо убирать, а то работает так
первый сет, второй сет, задержка, второй сет.

Re: Урок 20. Анимация

Добавлено: 25 июн 2012, 18:39
daiz123
xmlns:android="http://schemas.android.com/apk/res/android" Скажите, пожалуйста, для чего нужна эта строка?

Re: Урок 20. Анимация

Добавлено: 29 июн 2012, 15:11
damager82
daiz123 писал(а):xmlns:android="http://schemas.android.com/apk/res/android" Скажите, пожалуйста, для чего нужна эта строка?
Это пространство имен. Так просто и не объяснить ...
Попробуйте тут глянуть http://www.vbnet.ru/articles/showarticle.aspx?id=146

Re: Урок 20. Анимация

Добавлено: 19 июл 2012, 14:23
Eves
Почему-то приложение крашется на реальном девайсе при выборе из контекстменю :О

Re: Урок 20. Анимация

Добавлено: 22 июл 2012, 13:59
paththeir
В общем-то в этом месте урока

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

 case MENU_SCALE_ID:
      anim = AnimationUtils.loadAnimation(this, R.anim.myscale);
      tv.startAnimation(anim);
      break;
    case MENU_TRANSLATE_ID:
      anim = AnimationUtils.loadAnimation(this, R.anim.mytrans);
      tv.startAnimation(anim);
      break;
    case MENU_ROTATE_ID:
      anim = AnimationUtils.loadAnimation(this, R.anim.myrotate);
      tv.startAnimation(anim);
      break;
Можно было в кейсах указать только anim = ..., а tv.startAnimation(anim) указать после свитча.
Ну так, для сокращения кода.

Re: Урок 20. Анимация

Добавлено: 23 июл 2012, 09:24
damager82
paththeir писал(а):Можно было в кейсах указать только anim = ..., а tv.startAnimation(anim) указать после свитча.
Ну так, для сокращения кода.
Вообще да :)
Сам не знаю, зачем в каждый кейс это втыкнул ...

Re: Урок 20. Анимация

Добавлено: 26 июл 2012, 15:26
aftor
Товарищи!!! нужна ваша помощь, не могу найти ответ. Уже 2 дня в google сижу.

Есть анимация, в ней увеличение и перемищение объекта, при запуске она сризаеться по всем бокам, потому что ее родитель чуть больше по размерам.

Как можно избежать этого, как чтоб анимация не обращала не на что внимание?

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

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class Animation2Activity extends Activity {
	
	LinearLayout layout_left_animation, layout_main_animation, mainView;
	Animation animationIconsGroup, animationIcons, animationMain;
	ImageView imageView1, imageChips, image_contact;
	FrameLayout image_parent;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main1);
        
        imageChips = (ImageView) findViewById(R.id.imageChips);
        
    }
    
    public void buttonClick1(View v) {
    	
    	Animation anim3 = new ScaleAnimation(1, 4, 1, 4, 50, 50);
    	anim3.setDuration(1000);
    	
    	TranslateAnimation anim4 = new TranslateAnimation(0, 200, 0, 200);
    	anim4.setDuration(1000);
    	
    	AnimationSet anim = new AnimationSet(false);
        anim.addAnimation(anim3);
        anim.addAnimation(anim4);
        imageChips.startAnimation(anim);
        
    }
    
}

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="buttonClick1"
        android:text="Button1" android:layout_gravity="center_horizontal"/>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <FrameLayout
            android:id="@+id/image_parent"
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:layout_gravity="center" >

            <ImageView
                android:id="@+id/imageChips"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:layout_gravity="center"
                android:src="@drawable/ic_launcher" />
        </FrameLayout>
    </FrameLayout>

</LinearLayout>

Re: Урок 20. Анимация

Добавлено: 27 июл 2012, 09:22
Riffi
Я так понял, на android 2.1 это не работает ?

Re: Урок 20. Анимация

Добавлено: 27 июл 2012, 09:44
papka
Работает.

Re: Урок 20. Анимация

Добавлено: 10 сен 2012, 09:00
Blockhead
А возможно дописать статью на тему fillAfter и физического расположения Layout после? В интернете мало об этом информации...

Re: Урок 20. Анимация

Добавлено: 19 сен 2012, 15:51
damager82
Blockhead писал(а):А возможно дописать статью на тему fillAfter и физического расположения Layout после? В интернете мало об этом информации...
Да, надо бы. Полезная штука. Внесу в список будущих материалов.

Re: Урок 20. Анимация

Добавлено: 21 сен 2012, 10:16
Lorkn
Не работает меню. Не вызывается в эмуляторе и реальном устройстве (при нажатии на кнопку меню ничего не происходит). Код из урока один в один.

avd android 2.3.3, real device android 2.3.4

Предыдущие уроки компилировались и запускались нормально. В чём может быть здесь дело?

Re: Урок 20. Анимация

Добавлено: 21 сен 2012, 14:47
damager82
Lorkn писал(а):Не работает меню. Не вызывается в эмуляторе и реальном устройстве (при нажатии на кнопку меню ничего не происходит). Код из урока один в один.

avd android 2.3.3, real device android 2.3.4

Предыдущие уроки компилировались и запускались нормально. В чём может быть здесь дело?
Речь об этом уроке? Продебажьте или поставьте запись в лог в методе onCreateContextMenu, чтобы проверить вызывается он или нет.
строка registerForContextMenu(tv); точно есть?

Re: Урок 20. Анимация

Добавлено: 24 сен 2012, 09:50
Lorkn
Прошу извинить за невнимательность. Всё работает.