博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 中文 API (35) —— ImageSwitcher
阅读量:6643 次
发布时间:2019-06-25

本文共 3348 字,大约阅读时间需要 11 分钟。

 

正文

  一、结构

    public class ImageSwitcher extends ViewSwitcher

 

 

    java.lang.Object

android.view.ViewGroup
android.widget.FrameLayout
android.widget.ViewAnimator
android.widget.ViewSwitcher
android.widget.ImageSwitcher
 

 

 

  二、概述

 

 

(译者注:ImageSwitcherAndroid中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊,做相册一绝。)

 

  三、公共方法

 

         public void setImageDrawable (Drawable drawable)

         绘制图片

 

 public void setImageResource (int resid)

   设置图片资源库

 

 public void setImageURI (Uri uri)

  设置图片地址

 

  四、补充

    4.1  文章链接

 

                   

                   

 

    4.2  示例代码本文代码转载自

      java文件

public
 
class
 mainactivity 
extends
 Activity 
implements
  OnItemSelectedListener, ViewFactory {
 
private
 ImageSwitcher is;
 
private
 Gallery gallery;
 
private
 Integer[] mThumbIds 
=
 { R.drawable.b, R.drawable.c,
   R.drawable.d, R.drawable.f, R.drawable.g,
   };
 
private
 Integer[] mImageIds 
=
 { R.drawable.b, R.drawable.c,
   R.drawable.d, R.drawable.f, R.drawable.g, };
@Override
 
protected
 
void
 onCreate(Bundle savedInstanceState) {
  
super
.onCreate(savedInstanceState);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  setContentView(R.layout.main);
  is 
=
 (ImageSwitcher) findViewById(R.id.switcher);
  is.setFactory(
this
);
  is.setInAnimation(AnimationUtils.loadAnimation(
this
,
    android.R.anim.fade_in));
  is.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 i 
=
 
new
 ImageView(
this
);
  i.setBackgroundColor(
0xFF000000
);
  i.setScaleType(ImageView.ScaleType.FIT_CENTER);
  i.setLayoutParams(
new
 ImageSwitcher.LayoutParams(
    LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
  
return
 i;
 }
 
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.e);
   
return
 i;
  }
  
private
 Context mContext;
 }
 @Override
 
public
 
void
 onItemSelected(AdapterView
<?>
 parent, View view, 
int
 position,
   
long
 id) {
  is.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
="match_parent"
 
    android:layout_height
="match_parent"
>
 
    
    
<
ImageSwitcher 
android:id
="@+id/switcher"
        android:layout_width
="match_parent"
        android:layout_height
="match_parent"
        android:layout_alignParentTop
="true"
        android:layout_alignParentLeft
="true"
    
/>
    
    
<
Gallery 
android:id
="@+id/gallery"
        android:background
="#55000000"
        android:layout_width
="match_parent"
        android:layout_height
="60dp"
        android:layout_alignParentBottom
="true"
        android:layout_alignParentLeft
="true"
        
        android:gravity
="center_vertical"
        android:spacing
="16dp"
    
/>
</
RelativeLayout
>

 

结束

   wallace2010居然弄个这么好看的图片 - - #  吸引帝......

 

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582635,如需转载请自行联系原作者

你可能感兴趣的文章
60幅精美绝伦的绘景(Matte Paintings)作品欣赏(下篇)
查看>>
NSDictionary不可变字典集合
查看>>
linux05-虚拟机配置,磁盘管理,mount
查看>>
zookeeper.jar使用(一)
查看>>
一个新的里程碑
查看>>
IOS面试题汇总
查看>>
解析 Linux 中的 VFS 文件系统机制
查看>>
使用ILMerge合并多个DLL
查看>>
JSP 在修改JAVA文件后,要重新部署
查看>>
更新日志 - fir.im 新版管理后台邀请内测
查看>>
利用半透明对话框实现android运行时的提示界面
查看>>
RHCS(维护篇)
查看>>
let和const命令 — 学习ES6(一)
查看>>
shell脚本(二)
查看>>
nginx + tomcat配置https的两种方法
查看>>
21个挑战题,几杯咖啡的时间,来试试
查看>>
KVC KVO
查看>>
Oracle ODI 12c之多表联合查询以及定时任务设置
查看>>
设置KSH的自动补全和历史命令功能
查看>>
python--threading多线程总结
查看>>