日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android相册幻灯片功能,Android实现幻灯片式图片浏览器

發布時間:2024/7/19 Android 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android相册幻灯片功能,Android实现幻灯片式图片浏览器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們來實現一個幻燈片式圖片瀏覽器:

最下面一個畫廊視圖,選中畫廊中的圖片,會在上面的ImageSwitcher控件中顯示大圖。

效果圖如圖

實現方法:

在布局文件中添加圖片切換控件ImageSwitcher和畫廊視圖控件Gallery

res/layout/main.xml:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/layout1"

android:gravity="center_horizontal"

>

android:id="@+id/imageSwitcher"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:paddingTop="30px"

android:layout_weight="2"/>

android:id="@+id/gallery1"

android:spacing="5px"

android:layout_weight="1"

android:unselectedAlpha="0.6"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

在res/values目錄中,創建一個名為attr.xml的文件,在該文件中定義一個styleable對象,用于組合多個屬性。這里只指定了一個系統自帶的android:galleryItemBackground屬性,用于設置各選項的背景。具體代碼如下:

res/values/attr.xml:

MainActivity:

package com.example.test;

import android.app.Activity;

import android.content.res.TypedArray;

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.OnItemSelectedListener;

import android.widget.BaseAdapter;

import android.widget.Gallery;

import android.widget.ImageSwitcher;

import android.widget.ImageView;

import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity {

//定義并初始化保存圖片id的數組

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);

Gallery gallery=(Gallery)findViewById(R.id.gallery1);//獲取gallery組件

imageSwitcher=(ImageSwitcher)findViewById(R.id.imageSwitcher);//獲取圖像切換器

//設置動畫效果

imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,

android.R.anim.fade_in));//設置淡入動畫

imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,

android.R.anim.fade_out));//設置淡出動畫

imageSwitcher.setFactory(new ViewFactory(){

@Override

public View makeView() {

ImageView imageView=new ImageView(MainActivity.this);//實例化一個imageView類的對象

imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//設置保持縱橫比居中縮放圖像

imageView.setLayoutParams(new ImageSwitcher.LayoutParams(

LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

return imageView;//返回imageView對象

}

});

BaseAdapter adapter=new BaseAdapter(){

@Override

public View getView(int position, View convertView, ViewGroup parent) {

ImageView imageView;//聲明ImageView的對象

if(convertView==null){

imageView=new ImageView(MainActivity.this);//實例化ImageView的對象

imageView.setScaleType(ImageView.ScaleType.FIT_XY);//設置縮放方式

imageView.setLayoutParams(new Gallery.LayoutParams(180,135));

//設置gallery每一項圖片的背景資源(使用的是attr.xml的自定義樣式)

TypedArray typedArray=obtainStyledAttributes(R.styleable.Gallery);

imageView.setBackgroundResource(typedArray.getResourceId(

R.styleable.Gallery_android_galleryItemBackground, 0));

imageView.setPadding(5, 0, 5, 0);//設置imageView的內邊距

}else{

imageView=(ImageView)convertView;

}

imageView.setImageResource(imageId[position]);//為imageView設置要顯示的圖片

return imageView;//返回ImageView

}

//功能:獲得當前選項的id

@Override

public long getItemId(int position) {

return position;

}

//功能:獲得當前選項

@Override

public Object getItem(int position) {

return position;

}

//獲得數量

@Override

public int getCount() {

return imageId.length;

}

};

gallery.setAdapter(adapter);//將適配器與Gallery關聯

gallery.setSelection(imageId.length/2);//選中中間的圖片

gallery.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override

public void onItemSelected(AdapterView> parent, View v,

int position, long id) {

imageSwitcher.setImageResource(imageId[position]);//顯示選中的圖片

}

@Override

public void onNothingSelected(AdapterView> arg0) {

// TODO Auto-generated method stub

}

});

}

}

這樣單擊某張圖片,可以選中該圖片,并且讓其居中顯示,也可以用手指拖動圖片來移動圖片,并且讓選中的圖片在上方顯示,如圖是切換瞬間的效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的android相册幻灯片功能,Android实现幻灯片式图片浏览器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。