- 浏览: 417873 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
rkikbs:
有下载地址么?
我的iOS视频开放了,欢迎大家在线观看 -
wjpiao:
支持支持!
我的iOS视频开放了,欢迎大家在线观看 -
关东升:
wwwang89 写道关老师,你好 ,请问:我的服务器端是用j ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
wwwang89:
关老师,你好 ,请问:我的服务器端是用java写的,不是.ne ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
关东升:
crowning_2008 写道关老师 好!你好
iOS开发那些事-关于性能优化–选择nib还是故事板的讨论
ImageSwitcher图像切换器,可以切换器图像。ImageSwitcher类的继承图如下:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.FrameLayout
↳ android.widget.ViewAnimator
↳ android.widget.ViewSwitcher
↳ android.widget.ImageSwitcher
android.widget.ImageSwitcher继承了android.widget.FrameLayout框架布局类。为了便于学习,我们把官方的ImageSwitcher例子(ApiDemos/src/com/example/android/apis/view/ImageSwitcher1.java)做了一些修改,例子运行如图7-6屏幕,点击屏幕下面的缩图,实现图片的切换。
图7-6 ImageSwitcher
请参考代码清单7-4,完整代码请参考chapter7_1工程中MyImageSwitcher代码部分。
【代码清单7-4】
在ImageSwitcher图像切换器中需要提供缩图数组集合mThumbIds和正常图片集合mImageIds。requestWindowFeature(Window.FEATURE_NO_TITLE)方法是设置没有标题的屏幕。
实现图像切换关键代码是mSwitcher.setFactory(new ViewSwitcher.ViewFactory() {…}),需要提供一个ViewSwitcher.ViewFactory接口为图像切换的时候创建一个View对象,由于是图像切换器,这个View是一个ImageView类的实例,i.setBackgroundColor(0xFF000000)指定背景颜色,i.setScaleType(ImageView.ScaleType.FIT_CENTER)指定排列方式为居中。下面的代码就是设置图片的布局与父容器匹配模式:
i.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
在屏幕下面的缩图是Gallery类型,点击缩图触发事件AdapterView.OnItemSelectedListener()时改变图片切换器的图片源mSwitcher.setImageResource(mImageIds[position]),从而实现图片的切换。
缩图的Gallery还必须实现一个BaseAdapter适配器,代码请参考代码清单7-5,完整代码请参考chapter7_1工程中MyImageSwitcher代码部分。
【代码清单7-5】
getView()方法中返回缩图的对象,i.setImageResource(mThumbIds[position])是设置图片源,i.setAdjustViewBounds(true)设置图片对象边框自动调节,i.setLayoutParams()设置图片控件的布局,i.setBackgroundResource设置背景图片。
出自《Android开发案例驱动教程》第七章
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.FrameLayout
↳ android.widget.ViewAnimator
↳ android.widget.ViewSwitcher
↳ android.widget.ImageSwitcher
android.widget.ImageSwitcher继承了android.widget.FrameLayout框架布局类。为了便于学习,我们把官方的ImageSwitcher例子(ApiDemos/src/com/example/android/apis/view/ImageSwitcher1.java)做了一些修改,例子运行如图7-6屏幕,点击屏幕下面的缩图,实现图片的切换。
图7-6 ImageSwitcher
请参考代码清单7-4,完整代码请参考chapter7_1工程中MyImageSwitcher代码部分。
【代码清单7-4】
public class MyImageSwitcher extends Activity { private ImageSwitcher mSwitcher; private Integer[] mThumbIds = { R.drawable.photo1_thumb, R.drawable.photo2_thumb, R.drawable.photo3_thumb, R.drawable.photo4_thumb, R.drawable.photo5_thumb, R.drawable.photo6_thumb }; private Integer[] mImageIds = { R.drawable.photo1, R.drawable.photo2, R.drawable.photo3, R.drawable.photo4, R.drawable.photo5, R.drawable.photo6 }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.image_switcher); mSwitcher = (ImageSwitcher) findViewById(R.id.switcher); mSwitcher.setFactory(new ViewSwitcher.ViewFactory() { @Override public View makeView() { ImageView i = new ImageView(MyImageSwitcher.this); i.setBackgroundColor(0xFF000000); i.setScaleType(ImageView.ScaleType.FIT_CENTER); i.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); return i; } }); Gallery g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(this)); g.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View v, int position, long id) { mSwitcher.setImageResource(mImageIds[position]); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); … … } … … }
在ImageSwitcher图像切换器中需要提供缩图数组集合mThumbIds和正常图片集合mImageIds。requestWindowFeature(Window.FEATURE_NO_TITLE)方法是设置没有标题的屏幕。
实现图像切换关键代码是mSwitcher.setFactory(new ViewSwitcher.ViewFactory() {…}),需要提供一个ViewSwitcher.ViewFactory接口为图像切换的时候创建一个View对象,由于是图像切换器,这个View是一个ImageView类的实例,i.setBackgroundColor(0xFF000000)指定背景颜色,i.setScaleType(ImageView.ScaleType.FIT_CENTER)指定排列方式为居中。下面的代码就是设置图片的布局与父容器匹配模式:
i.setLayoutParams(new ImageSwitcher.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
在屏幕下面的缩图是Gallery类型,点击缩图触发事件AdapterView.OnItemSelectedListener()时改变图片切换器的图片源mSwitcher.setImageResource(mImageIds[position]),从而实现图片的切换。
缩图的Gallery还必须实现一个BaseAdapter适配器,代码请参考代码清单7-5,完整代码请参考chapter7_1工程中MyImageSwitcher代码部分。
【代码清单7-5】
public class ImageAdapter extends BaseAdapter { public ImageAdapter(Context c) { mContext = c; } public int getCount() { return mThumbIds.length; } public Object getItem(int position) { return mThumbIds[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; }
getView()方法中返回缩图的对象,i.setImageResource(mThumbIds[position])是设置图片源,i.setAdjustViewBounds(true)设置图片对象边框自动调节,i.setLayoutParams()设置图片控件的布局,i.setBackgroundResource设置背景图片。
出自《Android开发案例驱动教程》第七章
发表评论
-
智捷课堂改版啦!
2015-08-04 12:09 1新站上线,为庆祝网站改版,全站所有视频限时免费三天(8月5日 ... -
《Android开发案例驱动教程》之十五章云端应用整篇下载
2011-12-08 18:08 1137《Android开发案例驱动教程》15章--云端应用[colo ... -
《Android开发案例驱动教程》源码
2011-12-08 17:57 1305《Android开发案例驱动教程》15,16,17章源码 目 ... -
android中google“定位查询”
2011-08-03 15:18 1218“定位查询”locate()方法,增加一个线程,在该线程中处理 ... -
7.1.5 选项卡结合案例详解
2011-07-27 08:58 1473选项卡是通过TabHost和TabActivity一起实现的, ... -
7.1.4 ScrollView结合案例详解
2011-07-26 17:50 2131ScrollView是一个滚动条控件,当屏幕中内容很多时候需要 ... -
7.1.3 TimePicker结合案例详解
2011-07-25 17:06 3218TimePicker是Android的时间设置控件。TimeP ... -
7.1.2 DatePicker结合案例详解
2011-07-23 15:56 1625DatePicker是Android的日期设置控件。DateP ... -
7.5 TableLayout布局详解
2011-07-20 10:17 2033TableLayout表格布局,将子元素的位置分配到行或列中。 ... -
7.4 AbsoluteLayout布局详解
2011-07-19 16:35 4587AbsoluteLayout绝对布局,指定了子元素准确的x/y ... -
7.3 RelativeLayout布局详解
2011-07-19 14:11 1048RelativeLayout相对布局, 允许子元素指定他们相对 ... -
7.2 LinearLayout布局详解
2011-07-18 10:23 1059LinearLayout线性布局,线性布局是所有布局中最常用的 ... -
6.4 Android国际化和本地化
2011-07-14 15:37 1599何谓国际化和本地化呢?就是在资源文件夹res内建立不同国家语言 ... -
6.1.6 Gallery结合案例详解
2011-07-13 17:04 1491Gallery(相册)控件是个很不错的图片查看控件,屏幕中有一 ... -
6.1.5 GridView详解
2011-07-13 09:25 1723Android中的数据能够通过GridView类实现表格化展现 ... -
6.2 Toast 详解
2011-07-12 17:02 895Toast用于向用户显示一些帮助或提示,有三种展现形式: • ... -
ListView分页(带图片)显示用法案例
2011-07-11 17:01 3139ListView是Android中最为常用的列表类型控件,Li ... -
Spinner用法案例
2011-07-11 15:26 2981Spinner控件也是一种列表类型的控件,它的继承关系如下: ... -
Android多媒体--网络文件播放
2011-07-08 15:22 1795网络文件就是指放在网络上的文件,也可能是流媒体等网络资源。由于 ... -
android多媒体开发--本地音频文件播放
2011-07-08 15:20 5944本地文件就是指文件放在Android系统的外部存储设 ...
相关推荐
第8 章高级篇——特征分析.. 289 8.1 尺度空间 290 8.1.1 尺度与旋转不变性. 290 8.1.2 特征点尺度变换.. 290 8.2 特征描述子.. 291 8.2.1 SIFT 特征. 292 8.2.2 SURF 特征.. 296 8.2.3 ORB 特征. 300 8.3 方向梯度...
【苹果5ios7.1.1SHSH备份详解】 在苹果设备的世界里,SHSH(Software SHadowSHard Signature)备份是一项重要的技术概念,尤其对于那些希望保留旧版iOS系统或者进行越狱操作的用户来说。标题“苹果5ios7.1.1shsh...
VTK,全称为“Visualization Toolkit”,是一个开源的三维可视化库,广泛用于科学计算和数据分析的图形用户界面开发。VTK-7.1.1.zip 是该库的一个特定版本,包含了VTK 7.1.1的完整源码,使得开发者能够深入理解其...
Cisco Packet Tracer 7.1.1是一款由Cisco Systems开发的网络模拟软件,主要用于教育和培训目的,特别是在Cisco Certified Internetwork Expert(CCIE)认证的学习过程中。这个版本相较于早期的Packet Tracer,提供了...
《Gradle 7.1.1 全解析:构建现代软件工程的新里程碑》 Gradle,作为当前软件开发领域中最流行的构建自动化工具之一,已经发展成为Java生态系统中的中流砥柱。随着版本的不断迭代,Gradle 7.1.1的发布无疑为开发者...
Android 7.1.1(API 25)SDK Platform 是Android开发的重要组成部分,它为开发者提供了构建、测试和调试针对Android 7.1.1系统应用所需的所有工具和资源。这一版本的更新主要是在Android 7.0的基础上进行了一些功能...
#### 五、关键特性分析 1. **A/B分区**:从Android 7.0开始引入了A/B分区机制,使得系统可以在不重启的情况下进行更新,提高了用户体验。 2. **Runtime Compilation**:Android 7.1.1继续优化ART运行时编译器,提升...
标题中的“DS3622Xs-7.1.1懒人包”指的是一个针对特定设备或系统的软件集合,可能是固件更新、系统优化工具或者是应用安装包。"DS3622Xs"可能代表一款NAS(网络附加存储)设备的型号,而"7.1.1"则表示该设备的软件...
一、Android 7.1.1 Nougat新特性与源码分析 1. **多窗口支持**:Android 7.1.1引入了多窗口模式,允许两个应用同时显示在屏幕上。源码中的`frameworks/base/services/core/java/com/android/server/wm/`目录下包含...
IOS7.1.1(SHSH)备份
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,该压缩文件包含gradle-7.1.1-bin.zip、官网下载地址和init.gradle,欢迎下载!
这是官网下载的Cisco Packet Tracer 7.1.1 Windows 64 bit和其他地方下载的chinese.ptl汉化包。
在本案例中,我们讨论的是一个名为“VTK-7.1.1.rar”的压缩包,其中包含了用户自编译的VTK 7.1.1版本,该版本是为Visual Studio 2017 (VS2017)在Windows 10操作系统下构建的,支持64位(X64)架构,并且集成了MFC...
### MyEclipse 7.1.1 安装与配置详解 #### 一、前言:DNS攻击引发的安装挑战 在2010年左右,MyEclipse 7.1.1作为一款广受欢迎的Java集成开发环境(IDE),其用户群体中包括了大量的中国开发者。然而,由于当时发生...
Cisco Packet Tracer 7.1.1湖科大教书匠中文语言包,基于英文7.1.1版,用于7.1.1版效果最好。
DS918+-7.1.1虚拟机引导.img
5. **教学资源**:Packet Tracer包含了丰富的教学材料,如教程、练习和案例研究,适合教师和学生共同学习。 6. **协作与分享**:用户可以创建项目并与其他用户共享,这在团队学习或远程教育中非常有用。 7. **汉化...
标题中的"Packet Tracer 7.1.1 for Windows 64 bit"表明这是该软件的一个特定版本,适用于64位的Windows操作系统。 Packet Tracer 7.1.1版引入了多项改进和新特性,以提升用户体验和教学效果。这个版本可能包括对...
总的来说,Highcharts 7.1.1是一个功能强大且灵活的数据可视化工具,适用于各种Web应用和移动应用,帮助开发者将复杂的数据转化为易于理解和分析的视觉表现。无论是在企业级项目还是个人开发中,都能看到Highcharts...
Logstash 是一个强大的开源日志收集、处理和分发工具,广泛应用于IT系统监控、日志分析和大数据环境中。它的核心功能是构建了一个数据管道,能够有效地从各种来源收集数据,进行必要的清洗、转换和增强,然后将这些...