Android---被弃用的Gallery控件+ImageSwitcher控件基础
来源:互联网 发布:excel解密码软件 编辑:程序博客网 时间:2024/04/30 23:07
Gallery是制作一个类似于一个画廊的Android控件,但是早已经被Android弃用了,被ViewPager等控件所替代,但还是有他自己独特的地方。ImageSwitcher是类似于图片切换工具。
首先是在layout布局文件中声明两个控件:
<Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ImageSwitcher android:id="@+id/is" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="10dp" > </ImageSwitcher>
当然,还要做好准备工作,寻找图片,准备数据源。并且声明以上两个控件,并且初始化。
// 准备数据源private int[] res = { R.drawable.item1, R.drawable.item2, R.drawable.item3, R.drawable.item4, R.drawable.item5,R.drawable.item6, R.drawable.item7, R.drawable.item8, R.drawable.item9, R.drawable.item10, R.drawable.item11,R.drawable.item12};
private Gallery gallery;private ImageSwitcher iSwitcher;
gallery = (Gallery) findViewById(R.id.gallery);iSwitcher=(ImageSwitcher) findViewById(R.id.is);然后就是新建一个适配器(BaseAdapter)
package com.example.gallery;import android.content.Context;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.ImageView.ScaleType;public class ImageAdapter extends BaseAdapter{private int[]res;private Context context;public ImageAdapter(int[]res,Context context) {// TODO Auto-generated constructor stubthis.res=res;this.context=context;}//返回数据源数量@Overridepublic int getCount() {// TODO Auto-generated method stubreturn Integer.MAX_VALUE;//整型最大数}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn res[position];}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubLog.e("Main", "position="+position+"\t "+"res的角标="+position%res.length);ImageView imageView=new ImageView(context);imageView.setBackgroundResource(res[position%res.length]);//图像资源imageView.setLayoutParams(new Gallery.LayoutParams(400,300));//设置宽高imageView.setScaleType(ScaleType.FIT_XY);//显示模式,横向拉伸return imageView;}}
res[position%res.length]:是使其图片可以循环滑动
package com.example.gallery;import android.support.v7.app.ActionBarActivity;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.Gallery;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.ImageView.ScaleType;import android.widget.ViewSwitcher.ViewFactory;public class MainActivity extends Activity implements OnItemSelectedListener,ViewFactory{// 准备数据源private int[] res = { R.drawable.item1, R.drawable.item2, R.drawable.item3, R.drawable.item4, R.drawable.item5,R.drawable.item6, R.drawable.item7, R.drawable.item8, R.drawable.item9, R.drawable.item10, R.drawable.item11,R.drawable.item12};private Gallery gallery;private ImageSwitcher iSwitcher;private ImageAdapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gallery = (Gallery) findViewById(R.id.gallery);iSwitcher=(ImageSwitcher) findViewById(R.id.is);//传参到适配器adapter=new ImageAdapter(res, this);//加载适配器gallery.setAdapter(adapter);//gallery的点击事件gallery.setOnItemSelectedListener(this);iSwitcher.setFactory(this);iSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));//android自带动画淡入效果iSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));//android自带动画淡出效果}//设置ImageSwitcher的属性@Overridepublic View makeView() {// TODO Auto-generated method stubImageView imag=new ImageView(this);imag.setScaleType(ScaleType.FIT_CENTER);//等比例图片居中显示return imag;}
//gallery的点击事件@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {// TODO Auto-generated method stub//imageView.setBackgroundResource(res[position%res.length]);iSwitcher.setBackgroundResource(res[position%res.length]);//ImageSwitcher随gallery的改变而改变
}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}}
阅读全文
0 0
- Android---被弃用的Gallery控件+ImageSwitcher控件基础
- Android 基础控件之ImageSwitcher、Gallery功能的实现
- Android[初级教程] 第九章 Gallery控件和ImageSwitcher控件
- Android 控件之Gallery和ImageSwitcher图片切换器
- Android应用开发控件——Gallery和ImageSwitcher
- android的Gallery控件
- Android基础--Gallery画廊控件
- android控件18 ImageSwitcher
- Android控件之ImageSwitcher
- android的ImageSwitcher控件及简单动画
- Android基础篇之ImageSwitcher与Gallery
- 系出名门Android(8) - 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList
- 系出名门Android(8) - 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList
- 系出名门Android(8) - 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListVi
- Android高级控件(View)之四TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList
- Android UI基础——TextSwitcher&ImageSwitcher控件
- Android 高级控件学习--ImageSwitcher
- 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList
- 英语可要好好学哦
- Hibernate第三章
- golang 交叉编译
- 求图像的周长
- 拉格朗日乘子法入门
- Android---被弃用的Gallery控件+ImageSwitcher控件基础
- 弱校胡策 POJ2709 Painter(贪心)
- Indri的使用
- JFrame窗体学习实例
- MySQL 学习教程(一)【整理】-数据库概要
- opencv(C++) Mat
- Windows10家庭版重命名用户文件夹
- 算法笔记C/C++之顺序结构、循环结构、数组
- 动态内存管理