Kako napraviti Android aplikaciju: Tutorijal 1.8 – Podešavanje pozadine

U ovom tutorijalu ćemo naučiti kako se može napraviti aplikacija za promenu pozadina. Za početak je potrebno nekoliko slika kopirati u drawable foldere, ali pritom obratite pažnju na rezoluciju slika, odnosno folder u koji određenu sliku kopirate. Zatim kreirajte klasu TutorialThree.java, layout wallpaper.xml i naravno podesite AndroidManifest.xml i menu.java.

Nakon kopiranja slika i kreiranja fajlova, unesite sledeći kod u wallpaper.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<ImageView

android:src="@drawable/slika1"

android:id="@+id/IVdisplay"

android:layout_width="200dp"

android:layout_height="200dp"

android:layout_gravity="center"

/>

<Button

android:id="@+id/BsetWallpaper"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Set image to background"

/>

<HorizontalScrollView

android:layout_width="200dp"

android:layout_height="wrap_content"

android:layout_gravity="center"

>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

>

<ImageView

android:src="@drawable/slika1"

android:id="@+id/IVimage1"

android:layout_width="125dp"

android:layout_height="125dp"

android:padding="15dp"

/>

<ImageView

android:src="@drawable/slika2"

android:id="@+id/IVimage2"

android:layout_width="125dp"

android:layout_height="125dp"

android:padding="15dp"

/>

<ImageView

android:src="@drawable/slika3"

android:id="@+id/IVimage3"

android:layout_width="125dp"

android:layout_height="125dp"

android:padding="15dp"

/>

<ImageView

android:src="@drawable/slika4"

android:id="@+id/IVimage4"

android:layout_width="125dp"

android:layout_height="125dp"

android:padding="15dp"

/>

<ImageView

android:src="@drawable/slika5"

android:id="@+id/IVimage5"

android:layout_width="125dp"

android:layout_height="125dp"

android:padding="15dp"

/>

<ImageView

android:src="@drawable/slika6"

android:id="@+id/IVimage6"

android:layout_width="125dp"

android:layout_height="125dp"

android:padding="15dp"

/>

</LinearLayout>

</HorizontalScrollView>

</LinearLayout>

Zatim  dodajte dugme (Button3) u menu.java, kao što ste to uradili i sa prva dva dugmeta.

dugmici

U AndroidManifest.xml unesite kod:

<activity

android:name=".TutorialThree"

android:label="@string/app_name" >

<intent-filter>

<action android:name="com.androidmarket.prvaaplikacija.TUTORIALTHREE" />

<category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

Nakon toga, u TutorialThree.java unesite sledeći kod:

 package com.androidmarket.prvaaplikacija;

import java.io.IOException;

import java.io.InputStream;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ImageView;

public class TutorialThree extends Activity implements OnClickListener{

ImageView display;

int toPhone;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.wallpaper);

toPhone = R.drawable.slika1;

display = (ImageView) findViewById(R.id.IVdisplay);

ImageView image1 = (ImageView) findViewById(R.id.IVimage1);

ImageView image2 = (ImageView) findViewById(R.id.IVimage2);

ImageView image3 = (ImageView) findViewById(R.id.IVimage3);

ImageView image4 = (ImageView) findViewById(R.id.IVimage4);

ImageView image5 = (ImageView) findViewById(R.id.IVimage5);

ImageView image6 = (ImageView) findViewById(R.id.IVimage6);

Button setWall = (Button) findViewById(R.id.BsetWallpaper);

image1.setOnClickListener(this);

image2.setOnClickListener(this);

image3.setOnClickListener(this);

image4.setOnClickListener(this);

image5.setOnClickListener(this);

image6.setOnClickListener(this);

setWall.setOnClickListener(this);

}

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

switch (v.getId()){

case R.id.IVimage1:

display.setImageResource(R.drawable.slika1);

toPhone = R.drawable.slika1;

break;

case R.id.IVimage2:

display.setImageResource(R.drawable.slika2);

toPhone = R.drawable.slika2;

break;

case R.id.IVimage3:

display.setImageResource(R.drawable.slika3);

toPhone = R.drawable.slika3;

break;

case R.id.IVimage4:

display.setImageResource(R.drawable.slika4);

toPhone = R.drawable.slika4;

break;

case R.id.IVimage5:

display.setImageResource(R.drawable.slika5);

toPhone = R.drawable.slika5;

break;

case R.id.IVimage6:

display.setImageResource(R.drawable.slika6);

toPhone = R.drawable.slika6;

break;

case R.id.BsetWallpaper:

InputStream someStream = getResources().openRawResource(toPhone);

Bitmap whatever = BitmapFactory.decodeStream(someStream);

try{

getApplicationContext().setWallpaper(whatever);

}catch(IOException e){

e.printStackTrace();

}

break;

}

}

}

 

I sada je potrebno uraditi samo još jednu stvar, a to je davanje dozvole u AndroidManifest-u, a to je možete uraditi tako što ćete otvoriti Manifest, pa zatim prozor Permissions.

per

U prozoru Permissions izaberite i potvrdite android.permission.SET_WALLPAPER, koja će se potom pojaviti u Manifestu, nakon čega možete testirati aplikaciju I videti da li sve radi kako treba. Kada kliknete na Button 3, moći ćete da birate i postavite novu pozadinu.

aplikacija

Zatim ćemo namestiti da pozadine mogu biti vidljive u fullscreen-u, a da bi to postigli najpre je potrebno uneti male izmene u Manifest fajl kao što je to prikazano na slici ispod:

full

Zatim se vratite u TutorialThree.java i unesite kod kao na slici:

kod

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

 Sada ponovo možete testirati vašu aplikaciju i uveriti se da li radi. U narednom tutorijalu, aplikaciji ćemo dodati neke nove aktivnosti.

Related Post