加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Android图片浏览源码介绍

发布时间:2021-12-18 18:41:05 所属栏目:PHP教程 来源:互联网
导读:Android手机操作系统的应用方式灵活,简单,深受广大编程爱好者的喜爱。尤其是它的开源代码,使得我们能够方便的得到自己想要的功能需求。今天我们就为大家带来了有关Android图片浏览的相关方法。 首先是Android图片浏览中layout xml: ?xml version=1.0 enco

Android手机操作系统的应用方式灵活,简单,深受广大编程爱好者的喜爱。尤其是它的开源代码,使得我们能够方便的得到自己想要的功能需求。今天我们就为大家带来了有关Android图片浏览的相关方法。
 
首先是Android图片浏览中layout 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="fill_parent">   
< ImageSwitcher Android:id="@+id/switcher"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_alignParentTop="true"
Android:layout_alignParentLeft="true"
/>
< Gallery Android:id="@+id/gallery"
Android:background="#55000000"
Android:layout_width="fill_parent"
Android:layout_height="60dp"
Android:layout_alignParentBottom="true"
Android:layout_alignParentLeft="true"
Android:gravity="center_vertical"
Android:spacing="16dp"
/>
< /RelativeLayout>
layout里面用到了前面所说的两个控件,ImageSwitcher用啦显示全图,Gallery用来显示缩略图。着重看看ImageSwitcher,在ImageSwitcher1中需要实现ViewSwitcher.ViewFactory这个接口,这个接口里有个方法makeView,这样就产生了用来显示图片的view. ImageSwitcher调用过程是这样的,首先要有一个Factory为它提供一个View,然后ImageSwitcher就可以初始化各种资源了。注意在使用一个ImageSwitcher之前,一定要调用setFactory方法,要不setImageResource这个方法会报空指针异常。
 
下面是Android图片浏览代码:
 
package com.zx.imageswitcher;  
import Android.app.Activity;  
import Android.content.Context;  
import Android.os.Bundle;  
import Android.view.View;  
import Android.view.ViewGroup;  
import Android.view.animation.AnimationUtils;  
import Android.widget.AdapterView;  
import Android.widget.BaseAdapter;  
import Android.widget.Gallery;  
import Android.widget.ImageSwitcher;  
import Android.widget.ImageView;  
import Android.widget.ViewSwitcher;  
import Android.widget.Gallery.LayoutParams;  
public class ImageSwitcherTest extends Activity implements  
AdapterView.OnItemSelectedListener, ViewSwitcher.ViewFactory{  
private ImageSwitcher mSwitcher;  
private Integer[] mThumbIds = {  
R.drawable.sample_thumb_0, R.drawable.sample_thumb_1,  
R.drawable.sample_thumb_2, R.drawable.sample_thumb_3,  
R.drawable.sample_thumb_4, R.drawable.sample_thumb_5,  
R.drawable.sample_thumb_6, R.drawable.sample_thumb_7};  
private Integer[] mImageIds = {  
R.drawable.sample_0, R.drawable.sample_1, R.drawable.sample_2,  
R.drawable.sample_3, R.drawable.sample_4, R.drawable.sample_5,  
R.drawable.sample_6, R.drawable.sample_7};  
/** Called when the activity is first created. */  
@Override  
public void onCreate(Bundle savedInstanceState) {  
super.onCreate(savedInstanceState);  
setContentView(R.layout.main);  
mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);  
mSwitcher.setFactory(this);  
mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,  
Android.R.anim.fade_in));  
mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,  
Android.R.anim.fade_out));  
Gallery g = (Gallery) findViewById(R.id.gallery);  
g.setAdapter(new ImageAdapter(this));  
g.setOnItemSelectedListener(this);  
}  
/*  
* override for ViewSwitcher.ViewFactory#makeView()  
*/  
public View makeView() {  
ImageView i = new ImageView(this);  
i.setBackgroundColor(0xFF000000);  
i.setScaleType(ImageView.ScaleType.FIT_CENTER);  
i.setLayoutParams(new ImageSwitcher.LayoutParams
(LayoutParams.FILL_PARENT,  
LayoutParams.FILL_PARENT));  
return i;  
}  
/*  
* override for   
* AdapterView.OnItemSelectedListener#onItemSelected()  
*/  
public void onItemSelected(AdapterView parent,
View v, int position, long id) {  
mSwitcher.setImageResource(mImageIds[position]);  
}  
/*  
* override for AdapterView.OnItemSelectedListener
#onNothingSelected()  
*/  
public void onNothingSelected(AdapterView< ?> arg0) {  
// TODO Auto-generated method stub  
}  
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 i = new ImageView(mContext);  
i.setImageResource(mThumbIds[position]);  
i.setAdjustViewBounds(true);  
i.setLayoutParams(new Gallery.LayoutParams(  
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));  
i.setBackgroundResource(R.drawable.picture_frame);  
return i;  
}  
private Context mContext;  
}  
}
从Android图片浏览的代码中看到还实现了AdapterView.OnItemSelectedListener,这样就需要重写onItemSelected()方法,然后在该方法中:mSwitcher.setImageResource(mImageIds[position]);这样就实现了图片在ImageSwitcher中的切换。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读