You are on page 1of 8

Universitatea Tehnica a Moldovei

Facultatea Calculatoare Informatic i Microelectronic

Catedra ATI

Raport
Lucrarea de laborator Nr. 4
la PAIIP

Tema: Animaia

A elaborat st. gr. TI-142


aldare Veaceslav
A verificat lect. asist.
Antohi Ion

Chiinu 2016
Scopul i obiectivele lucrrii
De realizat o aplicaie care s afieze o animaie de ncrcare.
Mersul lucrrii
Aplicaia dat conine urmatoarele activiti: Activity_main.xml,
main.activity.java i animition.xml.
Iniial animaia pentru aplicaie a fost descrcat de pe internet de tip .gif
Urmtorul pas a fost mprirea acestuia pe cadre. Pentru realizarea acesteia
am folosit online convertor ezgif.com. Dup convertirea acestuia am primit 8 fiiere
de format .gif conform figurii 1.

Figura 1 Frame-urile animaiei


Pentru ncrcarea acestora i utilizarea lor n continuare cu Android Studio am
folosit aplicaia InkSkape. Inkscape este un editor grafic vectorial open-source
similar cu Adobe Illustrator, Corel Draw, Freehand sau Xara X. Ceea ce l
deosebete este utilizarea a Scalable Vector Graphics (SVG), un standard deschis
W3C bazat pe XML, ca format nativ. n acesta am ncrcat consecutiv i redactat
pentru a le exporta n format SVG conform figurii 2.
Figura 2 Redactare imaginii n Inkscape
Astfel am obinut 8 fiiere de format SVG (figura 4). Deci fiierul Scalable Vector Graphics (SVG)
(expresie englez cu traducerea "grafic vectorial proporionabil") este un limbaj pentru descrierea
de imagini 2D folosind XML. Este un standard al organizaiei W3C a crui proiectare a nceput n
anul 1999. Permite definirea imaginilor prin 3 metode: text, grafic vectorial i "bitmap-uri" (fiiere n
formatul BMP).

Figura 4 Fiierele de format SVG


Urmtorul pas este ncrcarea acestor fiiere n proiectul din Android Studio
conform figurii 5. Pentru aceasta facem click dreapta pe fiierul drawable din mapa
res, selectm New i Vector Asset.
Figura 5 Adugarea n proiect ca vector asset

Apoi selectm path-ul fiecarui SVG fiier i denumim(denumirea nu trebuie s


conin spaiu). Selectm opiunea Override, pentru menine formatul iniial al
imaginei, conform figurii 6.

Figura 6 Fereastra de importare a SVG fiiere


Codul acestui fiier va avea urmatoarea structur conform figurii 7.

Figura 7 Structura codul fiierul SVG


Dup importarea tuturor fiierelor n mapa drawable, avem nevoie s crem
un fiier animation.xml unde vom aduga un animation-list. Codul acestui fiier
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:drawable="@drawable/ic_1" android:duration="80" />
<item android:drawable="@drawable/ic_2" android:duration="80" />
<item android:drawable="@drawable/ic_3" android:duration="80" />
<item android:drawable="@drawable/ic_4" android:duration="80" />
<item android:drawable="@drawable/ic_5" android:duration="80" />
<item android:drawable="@drawable/ic_6" android:duration="80" />
<item android:drawable="@drawable/ic_7" android:duration="80" />
<item android:drawable="@drawable/ic_8" android:duration="80" />

</animation-list>
Aplicaia are urmtorul layout conform figurii 8. El const dintr-un
ImageView .

Figura 8 Layout-ul activity_main.xml


Codul din MainActivity.java:
package com.example.slavic.lab4;

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

public class MainActivity extends AppCompatActivity {

private AnimationDrawable animation;

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

ImageView image = (ImageView)findViewById(R.id.ivAnimation);


int v = R.drawable.animation;
image.setBackgroundResource(v);
animation = (AnimationDrawable)image.getBackground();
animation.start();
}
}
Rezultatul final

Figura 9 Rularea animaiei din aplicaie


Concluzie
n urma efecturii acestui laborator am studia modul de convertire din .gif
animaie n frame-uri de tip SVG, ce reprezint un SVG (Scalable Vector Graphics),
i cum se reprezint aceste imagini ntr-o animaie 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 animaiei
n cod-ul aplicaiei.