Anda di halaman 1dari 8

Universitatea Tehnica a Moldovei

Facultatea Calculatoare Informatică și Microelectronică

Catedra ATI

Raport
Lucrarea de laborator Nr. 4
la PAM

Tema: Animația

A elaborat st. gr. TI-151


Toma Ana
A verificat lect. asist.
Ciudin Sergiu

Chișinău 2017
Scopul și obiectivele lucrării
De realizat o aplicație care să afișeze o animație de încărcare.
Mersul lucrării
Aplicația dată conține urmatoarele activități: MainActivity_main.xml,
main.activity.java și rocket_thrust.xml.
Inițial animația pentru aplicație a fost descărcată de pe internet de tip .gif
Următorul pas a fost împărțirea acestuia pe cadre. Pentru realizarea acesteia
am folosit online convertor ezgif.com. După convertirea acestuia am primit 8
fișiere de format .gif conform figurii 1.

Figura 1 – Frame-urile animației


Următorul pas este încărcarea acestor fișiere în proiectul din Android Studio
conform figurii 2. Pentru aceasta facem click dreapta pe fișierul drawable .
Figura 2– Adăugarea în proiect a imaginilor
După importarea tuturor fișierelor în mapa drawable, avem nevoie să creăm un
fișier rocket_thrust.xml unde vom adăuga un animation-list. Codul acestui fișier
arată astfel:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">

<item
android:duration="100"
android:drawable="@drawable/ic_1"/>

<item
android:duration="100"
android:drawable="@drawable/ic_2"/>

<item
android:duration="100"
android:drawable="@drawable/ic_3"/>

<item
android:duration="100"
android:drawable="@drawable/ic_4"/>

<item
android:duration="100"
android:drawable="@drawable/ic_5"/>
<item
android:duration="100"
android:drawable="@drawable/ic_6"/>

<item
android:duration="100"
android:drawable="@drawable/ic_7"/>

<item
android:duration="100"
android:drawable="@drawable/ic_8"/>

<item
android:duration="100"
android:drawable="@drawable/ic_9"/>
<item
android:duration="100"
android:drawable="@drawable/ic_10"/>

<item
android:duration="100"
android:drawable="@drawable/ic_11"/>

<item
android:duration="100"
android:drawable="@drawable/ic_12"/>

<item
android:duration="100"
android:drawable="@drawable/ic_13"/>

<item
android:duration="100"
android:drawable="@drawable/ic_14"/>

<item
android:duration="100"
android:drawable="@drawable/ic_15"/>

<item
android:duration="100"
android:drawable="@drawable/ic_15"/>

<item
android:duration="100"
android:drawable="@drawable/ic_14"/>

<item
android:duration="100"
android:drawable="@drawable/ic_13"/>

<item
android:duration="100"
android:drawable="@drawable/ic_12"/>

<item
android:duration="100"
android:drawable="@drawable/ic_11"/>

<item
android:duration="100"
android:drawable="@drawable/ic_10"/>

<item
android:duration="100"
android:drawable="@drawable/ic_9"/>

<item
android:duration="100"
android:drawable="@drawable/ic_8"/>

<item
android:duration="100"
android:drawable="@drawable/ic_7"/>
<item
android:duration="100"
android:drawable="@drawable/ic_6"/>

<item
android:duration="100"
android:drawable="@drawable/ic_5"/>

<item
android:duration="100"
android:drawable="@drawable/ic_4"/>

<item
android:duration="100"
android:drawable="@drawable/ic_3"/>

<item
android:duration="100"
android:drawable="@drawable/ic_2"/>

<item
android:duration="100"
android:drawable="@drawable/ic_1"/>

Aplicația are următorul layout conform figurii 8. El constă dintr-un


ImageView .

Figura 8 – Layout-ul activity_main.xml


Codul din MainActivity.java:
package com.example.ana.animatie;

import android.graphics.drawable.AnimationDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AnimationDrawable rocketAnimation;

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);


rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();
}
}
Rezultatul final

Figura 9 – Rularea animației din aplicație


Concluzie
În urma efectuării acestui laborator am studia modul de convertire din .gif
animație cum se reprezintă aceste imagini într-o animație în proiectul de pe
Android. Efectuarea acestui proces este simplu la 1-5 cadre, dar în caz ca sunt mai
mult de 10 cadre acest proces devine repetitiv și obositor, ca o alternativă la
aceasta ar putea fi folosirea unei biblioteci Java deja existentă ce permite operativ
adaugarea animației în cod-ul aplicației.

Anda mungkin juga menyukai