package net.learn2develop.AndroidViews;
import java.io.IOException;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Adapter;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View;
import android.widget.ViewSwitcher.ViewFactory;
public class ViewsActivity extends Activity implements OnClickListener
private Integer[] ImgIds = { R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, R.drawable.pic4 };
private LinearLayout mLinearLayout;
private Runnable viewUpdate;
private OnClickListener mImageListener = new OnClickListener()
public void onClick(View v)
setContentView(R.layout.main);
g = (Gallery) findViewById(R.id.gallery1);
g.setAdapter(new ImageAdapter(v.getContext()));
g.setOnItemClickListener(mGalleryClickListener);
g.setOnItemSelectedListener(mGallerySelectedListener);
private OnItemSelectedListener mGallerySelectedListener = new OnItemSelectedListener()
public void onItemSelected(AdapterView adapter, View v, int i, long lng)
Toast.makeText(ViewsActivity.this, descr, Toast.LENGTH_SHORT).show();
public void onNothingSelected(AdapterView arg0)
private OnItemClickListener mGalleryClickListener = new OnItemClickListener()
public void onItemClick(AdapterView parent, View v, int position, long id)
i.setImageResource(R.drawable.pic1);
i.setImageResource(R.drawable.pic2);
i.setImageResource(R.drawable.pic3);
i.setImageResource(R.drawable.pic4);
i.setImageResource(R.drawable.pic5);
i.setImageResource(R.drawable.pic6);
i.setImageResource(R.drawable.pic7);
i.setImageResource(R.drawable.pic8);
i.setImageResource(R.drawable.pic9);
i.setImageResource(R.drawable.pic10);
setContentView(mLinearLayout);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mp = MediaPlayer.create(this, R.raw.song);
Gallery g = (Gallery) findViewById(R.id.gallery1);
g.setAdapter(new ImageAdapter(this));
g.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView parent, View v, int position, long id) {
if (position >= ImgIds.length) {
position = position % ImgIds.length;
public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
private Context mContext;
public ImageAdapter(Context c) {
TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
mGalleryItemBackground = a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 0);
return Integer.MAX_VALUE;
public Object getItem(int position) {
if (position >= ImgIds.length) {
position = position % ImgIds.length;
public long getItemId(int position) {
if (position >= ImgIds.length) {
position = position % ImgIds.length;
public View getView1(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
if (position >= ImgIds.length) {
position = position % ImgIds.length;
i.setImageResource(ImgIds[position]);
i.setLayoutParams(new LayoutParams(80, 80));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
public int checkPosition(int position) {
if (position >= ImgIds.length) {
position = position % ImgIds.length;
final Button buttonavanti = (Button) findViewById(R.id.Avanti);
buttonavanti.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
g.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null);
final Button buttonindietro = (Button) findViewById(R.id.Indietro);
buttonindietro.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
g.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null);
final Button buttonexit = (Button) findViewById(R.id.Exit);
buttonexit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mLinearLayout = new LinearLayout(ViewsActivity.this);
i = new ImageView(ViewsActivity.this);
i.setImageResource(R.drawable.pic1);
i.setAdjustViewBounds(true);
i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
mLinearLayout.addView(i);
mLinearLayout.setOnClickListener(mImageListener);
public void onClick(View v) {
public View getView(int position, View convertView, ViewGroup parent) {
public void onClick(View v) {