Android 自己製作的相冊--效果還不錯哦

 

這是我學習Android時做的一個小程序,程序主要功能是實現一個迷你相冊的功能,可以在虛擬機上看到很不錯的效果。

我設置屏幕的大小爲800*600

 

/*

*ImageSwitcherGallery.java

*/

 

package android.study_layout;

 

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.view.animation.AnimationUtils;
import android.widget.*;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ViewSwitcher.ViewFactory;

 

public class ImageSwitcherGallery extends Activity implements
OnItemSelectedListener, ViewFactory {
private ImageSwitcher image_switcher;
private Gallery gallery;

private Integer[] mThumbIds = { R.drawable.a1, R.drawable.a2,
 R.drawable.a3, R.drawable.a4, R.drawable.a5,
 };

private Integer[] mImageIds = { R.drawable.a1, R.drawable.a2,
   R.drawable.a3, R.drawable.a4, R.drawable.a5, };

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.image_switcher_gallery);

image_switcher = (ImageSwitcher) findViewById(R.id.switcher);
image_switcher.setFactory(this);

image_switcher.setInAnimation(AnimationUtils.loadAnimation(this,
  android.R.anim.fade_in));
image_switcher.setOutAnimation(AnimationUtils.loadAnimation(this,
  android.R.anim.fade_out));

gallery = (Gallery) findViewById(R.id.gallery);

gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemSelectedListener(this);
}

@Override
public View makeView() {
ImageView image = new ImageView(this);
image.setBackgroundColor(0xFF000000);
image.setScaleType(ImageView.ScaleType.FIT_XY);
image.setLayoutParams(new ImageSwitcher.LayoutParams(
  LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return image;
}

public class ImageAdapter extends BaseAdapter {
public ImageAdapter(Context c) {
 mContext = c;
}

public int getCount() {
 return mThumbIds.length;
}

public Object getItem(int position) {
 return position;
}

public long getItemId(int position) {
 return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
 ImageView image = new ImageView(mContext);

 image.setImageResource(mThumbIds[position]);
 image.setAdjustViewBounds(true);
 image.setLayoutParams(new Gallery.LayoutParams(
   LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
 return image;
}

private Context mContext;

}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
 long id) {
 ImageSwitcher image_switcher = (ImageSwitcher) findViewById(R.id.switcher);
 image_switcher.setImageResource(mImageIds[position]);

}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}
}

 

xml文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
   
<ImageSwitcher
 android:id="@+id/switcher"
 android:layout_width="match_parent"
 android:layout_height="450dip"
 android:layout_alignParentLeft="true"
 android:layout_alignParentTop="true"
/>

<Gallery
 android:id="@+id/gallery"
 android:layout_width="fill_parent"
 android:layout_height="120dip"
 android:background="#55000000"
 android:layout_alignParentLeft="true"
 android:layout_alignParentBottom="true"
 android:gravity="center_vertical"
 android:spacing="30dip"
/>


</RelativeLayout>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章