Android学习笔记 ImageSwitcher图片切换组件的使用
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" > <ImageSwitcher
android:id="@+id/myImageSwitcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<Button
android:id="@+id/Btn_last"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:text="上一张图片" />
<Button
android:id="@+id/Btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="true"
android:text="下一张图片" />
</LinearLayout>
</LinearLayout>
MainActivity.java
public class MainActivity extends Activity {
private Button btnLast=null;
private Button btnNext=null;
private ImageSwitcher myImageSwitcher=null;
private int[] imgRes=new int[] {
R.drawable.png_01,
R.drawable.png_02,
R.drawable.png_03,
R.drawable.png_04,
R.drawable.png_05,
R.drawable.png_06,
R.drawable.png_07,
R.drawable.png_08
}; //定义资源文件数组
private int foot=0; //表示当前图片的标记
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.myImageSwitcher=(ImageSwitcher)super.findViewById(R.id.myImageSwitcher);
this.btnLast=(Button)super.findViewById(R.id.Btn_last);
this.btnNext=(Button)super.findViewById(R.id.Btn_next);
this.btnLast.setOnClickListener(new OnClickListenerImpl());
this.btnNext.setOnClickListener(new OnClickListenerImpl());
this.myImageSwitcher.setFactory(new ViewFactoryImpl());
this.myImageSwitcher.setImageResource(imgRes[this.foot++]);
this.myImageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); //设置图片切换效果
this.myImageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out)); //设置图片切换效果
}
private class OnClickListenerImpl implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.Btn_last:
MainActivity.this.myImageSwitcher.setImageResource(MainActivity.this.imgRes[MainActivity.this.foot--]);
checkBtnEnable();
break;
case R.id.Btn_next:
MainActivity.this.myImageSwitcher.setImageResource(MainActivity.this.imgRes[MainActivity.this.foot++]);
checkBtnEnable();
break;
default:
break;
}
}
}
//按钮检测
private void checkBtnEnable(){
if(this.foot<this.imgRes.length-1){ //检查是否为最后一张图片
this.btnNext.setEnabled(true);
}else{
this.btnNext.setEnabled(false);
}
if(this.foot==0){ //检查是否为第一张图片
this.btnLast.setEnabled(false);
}else{
this.btnLast.setEnabled(true);
}
}
//工厂
private class ViewFactoryImpl implements ViewFactory{
@Override
public View makeView() {
ImageView img=new ImageView(MainActivity.this);
img.setBackgroundColor(0xFFFFFFFF);//设置背景色
img.setScaleType(ImageView.ScaleType.CENTER);//居中
img.setLayoutParams(
new ImageSwitcher.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT
)); //定义组件的显示
return img; //反回img
}
}
Android学习笔记 ImageSwitcher图片切换组件的使用的更多相关文章
- Android学习笔记 TextSwitcher文本切换组件的使用
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- 从零開始学android<ImageSwitcher图片切换组件.二十六.>
ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够 ...
- Android学习笔记之图片轮播...
PS:一个bug又折腾了一个下午....哎... 学习内容: 1.Android利用ViewPager和PagerAdapter实现图片轮播... 2.使用反射机制获取Android的资源信息... ...
- Android学习笔记:使用ViewPager组件实现图片切换
在很多App中,尤其是第一次安装启动后,都会出现几个图片进行一些app的介绍和说明,图片可以随着滑动而切换. 我们这里利用 ViewPager组件来演示如何实现这一点. 1.创建一个app工程,默认创 ...
- [Android学习笔记4]四大应用组件之一:Service 上
一.什么是Service 一个Service就是一个能够在后台执行长时操作的应用程序组件,并且不提供用户界面.一个应用程序组件能够启动一个Service,即使用户切换到另一个应用程序,这个Servic ...
- Android学习笔记五:四大组件(转)
转自:http://blog.csdn.net/shenggaofei/article/details/52450668 Android四大组件分别为activity.service.content ...
- Android学习笔记 Toast屏幕提示组件的使用方法
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- Android学习笔记_66_图片处理专题
1.图片缩放:不解析整个图片信息. public class DemoActivity extends Activity { @Override public void onCreate(Bundle ...
- Android学习笔记_38_图片的拖动、缩放功能和多点触摸
一.基础知识: 引用 理论上 Android可以处理 多达256 个手指的触摸,大概只有章鱼哥能享受这种技术带来的便利.就编程人员来说,编写多点触摸和单点触摸的方式几乎一模一样.其奥秘在于Motion ...
随机推荐
- 查询mysql 哪些表正在被锁状态
查询mysql 哪些表正在被锁状态 show OPEN TABLES where In_use > 0; 参考链接:http://zhidao.baidu.com/link?url=tCQ70t ...
- python's thirty day for me 异常处理
---恢复内容开始--- 程序的异常:报错之后程序终止. 异常处理搭配使用: l = ['创建老师','创建学校'] while True: try: for num,item in enumerat ...
- UML中关系的分类及其概念——总结备忘
UML中关系分类: 依赖:依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义. 关联:关联是类与类之间的联接,它使一个类知道另一类的属性和方法. 聚合:聚合 ...
- http响应chunked格式分析
有的时候服务器生成HTTP回应是无法确定信息大小的,这时用Content-Length就无法事先写入长度,而需要实时生成消息长度,这时服务器一般采用Chunked编码. 在进行Chunked编码传输时 ...
- Centos7 超简单将Centos的yum源更换为国内的阿里云源
1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...
- 简单 JS 弹出层 背景变暗
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Python函数的初识
一 什么是函数 定义: 定义一个事情或者功能,等到需要用的时候直接用就可以了,那么这个定义的就是一个函数 函数 : 对代码块和功能的封装和定义 函数定义的格式: def 函数名() ...
- delphi 原生 ADODB.recordset
ADODB.recordset ..\source\rtl\win\Winapi.ADOInt.pas..\17.0\OCX\Servers\ADODB2010.pasCLASS_Recordset: ...
- Hadoop IO 特性详解(2)
(本文引用了microheart,ggjucheng的一些资料,在此感谢.charles觉得知识无价,开源共享无价) 这一次我们接着分析文件IO校验的相关代码,看看最底层是如何实现这种大数据集的文件校 ...
- JanusGraph : 图和图数据库的简介
JanusGraph:图数据库系统简介 图(graph)是<数据结构>课中第一次接触到的一个概念,它是一种用来描述现实世界中个体和个体之间网络关系的数据结构. 为了在计算机中存储图,< ...