android 图片预览动画,Android实现仿Windows7图片预览窗格效果
本實例將顯示類似于windows7提供的圖片預(yù)覽窗格效果,單擊任意一張圖片,可以在右側(cè)顯示該圖片的預(yù)覽效果。
效果如圖所示:
具體實現(xiàn)方法:
res/layout/main.xml:
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/layout1"
>
android:layout_height="match_parent"
android:layout_width="440px"
android:layout_marginTop="10px"
android:horizontalSpacing="3px"
android:verticalSpacing="3px"
android:numColumns="3"/>
android:id="@+id/imageSwitcher1"
android:padding="10px"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
MainActivity:
package com.example.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class MainActivity extends Activity {
private int[] imageId=new int []{R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,
R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8,R.drawable.img9};
private ImageSwitcher imageSwitcher;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageSwitcher=(ImageSwitcher)findViewById(R.id.imageSwitcher1);//獲取圖像切換器
//設(shè)置動畫效果
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));//設(shè)置淡入動畫
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));//設(shè)置淡出動畫
imageSwitcher.setFactory(new ViewFactory() {
@Override
public View makeView() {
//實例化一個ImageView對象
ImageView imageView=new ImageView(MainActivity.this);
//設(shè)置保持縱橫比居中縮放圖像
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
return imageView;//返回imageView對象
}
});
imageSwitcher.setImageResource(R.drawable.img3);//設(shè)置默認(rèn)顯示的圖像
GridView gridview=(GridView)findViewById(R.id.gridView1);
BaseAdapter adapter=new BaseAdapter(){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = null;//聲明一個ImageView對象
if(convertView==null){
imageView=new ImageView(MainActivity.this);//實例化ImageView對象
/****************設(shè)置圖像的寬度和高度*******************/
imageView.setAdjustViewBounds(true);
imageView.setMaxWidth(150);
imageView.setMaxHeight(113);
/*********************************************************/
imageView.setPadding(5, 5, 5, 5);
}else{
imageView=(ImageView)convertView;
}
imageView.setImageResource(imageId[position]);
return imageView;
}
//功能:獲得當(dāng)前選項的id
@Override
public long getItemId(int position) {
return position;
}
//功能:獲得當(dāng)前選項
@Override
public Object getItem(int position) {
return position;
}
//獲得數(shù)量
@Override
public int getCount() {
return imageId.length;
}
};
gridview.setAdapter(adapter);
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position,
long id) {
//顯示選中的照片
imageSwitcher.setImageResource(imageId[position]);
}
});
}
}
運(yùn)行效果與開頭描述相同,成功實現(xiàn)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持找一找教程網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的android 图片预览动画,Android实现仿Windows7图片预览窗格效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 药品研发 计算机系统验证,基于验证的药
- 下一篇: 冷藏温度范围_食品冷藏冷冻温度要求与管理