Android實現(xiàn)仿Windows7圖片預(yù)覽窗格效果
本實例將顯示類似于windows7提供的圖片預(yù)覽窗格效果,單擊任意一張圖片,可以在右側(cè)顯示該圖片的預(yù)覽效果。
效果如圖所示:

具體實現(xiàn)方法:
res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/layout1" > <GridView android:id="@+id/gridView1" android:layout_height="match_parent" android:layout_width="440px" android:layout_marginTop="10px" android:horizontalSpacing="3px" android:verticalSpacing="3px" android:numColumns="3"/> <!-- 添加一個圖像切換器 --> <ImageSwitcher android:id="@+id/imageSwitcher1" android:padding="10px" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout>
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è)置默認顯示的圖像
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]);
}
});
}
}
運行效果與開頭描述相同,成功實現(xiàn)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android ActionBar完全解析使用官方推薦的最佳導(dǎo)航欄(上)
Action Bar是一種新増的導(dǎo)航欄功能,在Android 3.0之后加入到系統(tǒng)的API當(dāng)中,它標(biāo)識了用戶當(dāng)前操作界面的位置,并提供了額外的用戶動作、界面導(dǎo)航等功能2017-04-04
WebView設(shè)置WebViewClient的方法
這篇文章主要介紹了 WebView設(shè)置WebViewClient的方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09
Android開源AndroidSideMenu實現(xiàn)抽屜和側(cè)滑菜單
這篇文章主要為大家詳細介紹了Android開源AndroidSideMenu實現(xiàn)抽屜和側(cè)滑菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
Android使用RecyclerView實現(xiàn)列表數(shù)據(jù)選擇操作
這篇文章主要為大家詳細介紹了Android使用RecyclerView結(jié)合CheckBox實現(xiàn)列表數(shù)據(jù)選擇操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Android實現(xiàn)加載廣告圖片和倒計時的開屏布局
這篇文章主要介紹了Android實現(xiàn)加載廣告圖片和倒計時的開屏布局,需要的朋友可以參考下2014-07-07

