- 浏览: 425906 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
rkikbs:
有下载地址么?
我的iOS视频开放了,欢迎大家在线观看 -
wjpiao:
支持支持!
我的iOS视频开放了,欢迎大家在线观看 -
关东升:
wwwang89 写道关老师,你好 ,请问:我的服务器端是用j ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
wwwang89:
关老师,你好 ,请问:我的服务器端是用java写的,不是.ne ...
iOS网络编程-ASIHTTPRequest框架同步请求 -
关东升:
crowning_2008 写道关老师 好!你好
iOS开发那些事-关于性能优化–选择nib还是故事板的讨论
Gallery(相册)控件是个很不错的图片查看控件,屏幕中有一个图片列表,Gallery类的继承关系如下:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<T extends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Gallery
这个Gallery案例,可以用手滑动Gallery,当用户点击某个图片弹出一个Toast,如6-11图:
6-11 Gallery控件使用效果图
程序代码请参考代码清单6-9:
【代码清单6-9】 chapter6_5/src/com/work/GalleryActivity.java
代码的关键的地方是实现BaseAdapter适配器类——ImageAdapter,其中关键是getView()实现。在convertView为null时候实例化控件,imageView.setLayoutParams(new GridView.LayoutParams(136, 88)是设置一个单元格中图片的大小是136×88像素。imageView.setScaleType(ImageView.ScaleType.FIT_XY) 缩放图片使用FILL方式。imageView.setImageResource(mImageIds[position])为图片控件设置图片。
在布局文件/chapter6_5/res/layout/main.xml中添加Gallery控件:
本例中设置图片的背景样式是边框样式,如图6-12。
图6-12 图片背景样式
imageView.setBackgroundResource(mGalleryItemBackground)语句就是设定样式的,成员变量mGalleryItemBackground是在ImageAdapter的构造方法中初始化的。
mGalleryItemBackground是与galleryItemBackground背景资源绑定的id值,这个id对应的galleryItemBackground属性就是设定带有边框的背景样式。
此外还要在chapter6_5/res/values/目录下面创建一个attrs.xml文件:
这是一个自定义控件属性的xml文件。但是在Android1.0时候没有这么麻烦,而是如下方式实现:
android.R.styleable.Theme_galleryItemBackground 属性在Android1.0是可以访问的,而在Android1.0之后就不能访问了,而要通过本例的方式获得galleryItemBackground的id值。
出自《Android开发案例驱动教程》
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<T extends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Gallery
这个Gallery案例,可以用手滑动Gallery,当用户点击某个图片弹出一个Toast,如6-11图:

6-11 Gallery控件使用效果图
程序代码请参考代码清单6-9:
【代码清单6-9】 chapter6_5/src/com/work/GalleryActivity.java
public class GalleryActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Gallery g = (Gallery) findViewById(R.id.gallery); g.setAdapter(new ImageAdapter(this)); g.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Toast.makeText(GalleryActivity.this, "" + position, Toast.LENGTH_SHORT).show(); } }); registerForContextMenu(g); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.add(R.string.gallerytext); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); Toast.makeText(this, "Longpress: " + info.position, Toast.LENGTH_SHORT).show(); return true; } public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; public ImageAdapter(Context c) { mContext = c; TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); mGalleryItemBackground = a.getResourceId( R.styleable.Gallery1_android_galleryItemBackground, 0); a.recycle(); } public int getCount() { return mImageIds.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 imageView; imageView = new ImageView(mContext); imageView.setImageResource(mImageIds[position]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new Gallery.LayoutParams(136, 88)); imageView.setBackgroundResource(mGalleryItemBackground); return imageView; } private Context mContext; private Integer[] mImageIds = { R.drawable.beijing, R.drawable.changsha, R.drawable.chengdu, R.drawable.chongqing, R.drawable.haerbing, R.drawable.jinan, R.drawable.jiujiang, R.drawable.kunming, R.drawable.nanjing }; } }
代码的关键的地方是实现BaseAdapter适配器类——ImageAdapter,其中关键是getView()实现。在convertView为null时候实例化控件,imageView.setLayoutParams(new GridView.LayoutParams(136, 88)是设置一个单元格中图片的大小是136×88像素。imageView.setScaleType(ImageView.ScaleType.FIT_XY) 缩放图片使用FILL方式。imageView.setImageResource(mImageIds[position])为图片控件设置图片。
在布局文件/chapter6_5/res/layout/main.xml中添加Gallery控件:
<?xml version="1.0" encoding="utf-8"?> <Gallery xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content" />
本例中设置图片的背景样式是边框样式,如图6-12。

图6-12 图片背景样式
imageView.setBackgroundResource(mGalleryItemBackground)语句就是设定样式的,成员变量mGalleryItemBackground是在ImageAdapter的构造方法中初始化的。
public ImageAdapter(Context c) { mContext = c; TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); mGalleryItemBackground = a.getResourceId( R.styleable.Gallery1_android_galleryItemBackground, 0); a.recycle(); }
mGalleryItemBackground是与galleryItemBackground背景资源绑定的id值,这个id对应的galleryItemBackground属性就是设定带有边框的背景样式。
此外还要在chapter6_5/res/values/目录下面创建一个attrs.xml文件:
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="Gallery1"> <attr name="android:galleryItemBackground" /> </declare-styleable> </resources>
这是一个自定义控件属性的xml文件。但是在Android1.0时候没有这么麻烦,而是如下方式实现:
public ImageAdapter(Context c) { mContext = c; TypedArray a = obtainStyledAttributes(android.R.styleable.Theme); mGalleryItemBackground = a.getResourceId( android.R.styleable.Theme_galleryItemBackground, 0); a.recycle(); }
android.R.styleable.Theme_galleryItemBackground 属性在Android1.0是可以访问的,而在Android1.0之后就不能访问了,而要通过本例的方式获得galleryItemBackground的id值。
出自《Android开发案例驱动教程》
发表评论
-
智捷课堂改版啦!
2015-08-04 12:09 1新站上线,为庆祝网站改版,全站所有视频限时免费三天(8月5日 ... -
《Android开发案例驱动教程》之十五章云端应用整篇下载
2011-12-08 18:08 1178《Android开发案例驱动教程》15章--云端应用[colo ... -
《Android开发案例驱动教程》源码
2011-12-08 17:57 1365《Android开发案例驱动教程》15,16,17章源码 目 ... -
android中google“定位查询”
2011-08-03 15:18 1251“定位查询”locate()方法,增加一个线程,在该线程中处理 ... -
7.1.5 选项卡结合案例详解
2011-07-27 08:58 1525选项卡是通过TabHost和TabActivity一起实现的, ... -
7.1.4 ScrollView结合案例详解
2011-07-26 17:50 2172ScrollView是一个滚动条控件,当屏幕中内容很多时候需要 ... -
7.1.3 TimePicker结合案例详解
2011-07-25 17:06 3239TimePicker是Android的时间设置控件。TimeP ... -
7.1.2 DatePicker结合案例详解
2011-07-23 15:56 1640DatePicker是Android的日期设置控件。DateP ... -
7.1.1 ImageSwitcher案例分析详解
2011-07-21 10:50 2183ImageSwitcher图像切换器,可以切换器图像。Imag ... -
7.5 TableLayout布局详解
2011-07-20 10:17 2080TableLayout表格布局,将子元素的位置分配到行或列中。 ... -
7.4 AbsoluteLayout布局详解
2011-07-19 16:35 4616AbsoluteLayout绝对布局,指定了子元素准确的x/y ... -
7.3 RelativeLayout布局详解
2011-07-19 14:11 1098RelativeLayout相对布局, 允许子元素指定他们相对 ... -
7.2 LinearLayout布局详解
2011-07-18 10:23 1079LinearLayout线性布局,线性布局是所有布局中最常用的 ... -
6.4 Android国际化和本地化
2011-07-14 15:37 1634何谓国际化和本地化呢?就是在资源文件夹res内建立不同国家语言 ... -
6.1.5 GridView详解
2011-07-13 09:25 1769Android中的数据能够通过GridView类实现表格化展现 ... -
6.2 Toast 详解
2011-07-12 17:02 923Toast用于向用户显示一些帮助或提示,有三种展现形式: • ... -
ListView分页(带图片)显示用法案例
2011-07-11 17:01 3189ListView是Android中最为常用的列表类型控件,Li ... -
Spinner用法案例
2011-07-11 15:26 3022Spinner控件也是一种列表类型的控件,它的继承关系如下: ... -
Android多媒体--网络文件播放
2011-07-08 15:22 1819网络文件就是指放在网络上的文件,也可能是流媒体等网络资源。由于 ... -
android多媒体开发--本地音频文件播放
2011-07-08 15:20 5970本地文件就是指文件放在Android系统的外部存储设 ...
相关推荐
内容概要:本文详细介绍了基于MATLAB GUI界面和卷积神经网络(CNN)的模糊车牌识别系统。该系统旨在解决现实中车牌因模糊不清导致识别困难的问题。文中阐述了整个流程的关键步骤,包括图像的模糊还原、灰度化、阈值化、边缘检测、孔洞填充、形态学操作、滤波操作、车牌定位、字符分割以及最终的字符识别。通过使用维纳滤波或最小二乘法约束滤波进行模糊还原,再利用CNN的强大特征提取能力完成字符分类。此外,还特别强调了MATLAB GUI界面的设计,使得用户能直观便捷地操作整个系统。 适合人群:对图像处理和深度学习感兴趣的科研人员、高校学生及从事相关领域的工程师。 使用场景及目标:适用于交通管理、智能停车场等领域,用于提升车牌识别的准确性和效率,特别是在面对模糊车牌时的表现。 其他说明:文中提供了部分关键代码片段作为参考,并对实验结果进行了详细的分析,展示了系统在不同环境下的表现情况及其潜在的应用前景。
嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip
内容概要:本文深入探讨了一款额定功率为4kW的开关磁阻电机,详细介绍了其性能参数如额定功率、转速、效率、输出转矩和脉动率等。同时,文章还展示了利用RMxprt、Maxwell 2D和3D模型对该电机进行仿真的方法和技术,通过外电路分析进一步研究其电气性能和动态响应特性。最后,文章提供了基于RMxprt模型的MATLAB仿真代码示例,帮助读者理解电机的工作原理及其性能特点。 适合人群:从事电机设计、工业自动化领域的工程师和技术人员,尤其是对开关磁阻电机感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解开关磁阻电机特性和建模技术的研究人员,在新产品开发或现有产品改进时作为参考资料。 其他说明:文中提供的代码示例仅用于演示目的,实际操作时需根据所用软件的具体情况进行适当修改。
少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
内容概要:本文详细介绍了基于PID控制器的四象限直流电机速度驱动控制系统仿真模型及其永磁直流电机(PMDC)转速控制模型。首先阐述了PID控制器的工作原理,即通过对系统误差的比例、积分和微分运算来调整电机的驱动信号,从而实现转速的精确控制。接着讨论了如何利用PID控制器使有刷PMDC电机在四个象限中精确跟踪参考速度,并展示了仿真模型在应对快速负载扰动时的有效性和稳定性。最后,提供了Simulink仿真模型和详细的Word模型说明文档,帮助读者理解和调整PID控制器参数,以达到最佳控制效果。 适合人群:从事电力电子与电机控制领域的研究人员和技术人员,尤其是对四象限直流电机速度驱动控制系统感兴趣的读者。 使用场景及目标:适用于需要深入了解和掌握四象限直流电机速度驱动控制系统设计与实现的研究人员和技术人员。目标是在实际项目中能够运用PID控制器实现电机转速的精确控制,并提高系统的稳定性和抗干扰能力。 其他说明:文中引用了多篇相关领域的权威文献,确保了理论依据的可靠性和实用性。此外,提供的Simulink模型和Word文档有助于读者更好地理解和实践所介绍的内容。
嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip
少儿编程scratch项目源代码文件案例素材-驾驶通关.zip
小区开放对周边道路通行能力影响的研究.pdf
内容概要:本文探讨了冷链物流车辆路径优化问题,特别是如何通过NSGA-2遗传算法和软硬时间窗策略来实现高效、环保和高客户满意度的路径规划。文中介绍了冷链物流的特点及其重要性,提出了软时间窗概念,允许一定的配送时间弹性,同时考虑碳排放成本,以达到绿色物流的目的。此外,还讨论了如何将客户满意度作为路径优化的重要评价标准之一。最后,通过一段简化的Python代码展示了遗传算法的应用。 适合人群:从事物流管理、冷链物流运营的专业人士,以及对遗传算法和路径优化感兴趣的科研人员和技术开发者。 使用场景及目标:适用于冷链物流企业,旨在优化配送路线,降低运营成本,减少碳排放,提升客户满意度。目标是帮助企业实现绿色、高效的物流配送系统。 其他说明:文中提供的代码仅为示意,实际应用需根据具体情况调整参数设置和模型构建。
少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip
内容概要:本文详细介绍了基于STM32F030的无刷电机控制方案,重点在于高压FOC(磁场定向控制)技术和滑膜无感FOC的应用。该方案实现了过载、过欠压、堵转等多种保护机制,并提供了完整的源码、原理图和PCB设计。文中展示了关键代码片段,如滑膜观测器和电流环处理,以及保护机制的具体实现方法。此外,还提到了方案的移植要点和实际测试效果,确保系统的稳定性和高效性。 适合人群:嵌入式系统开发者、电机控制系统工程师、硬件工程师。 使用场景及目标:适用于需要高性能无刷电机控制的应用场景,如工业自动化设备、无人机、电动工具等。目标是提供一种成熟的、经过验证的无刷电机控制方案,帮助开发者快速实现并优化电机控制性能。 其他说明:提供的资料包括详细的原理图、PCB设计文件、源码及测试视频,方便开发者进行学习和应用。
基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf
嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip
Android系统开发_Linux内核配置_USB-HID设备模拟_通过root权限将Android设备转换为全功能USB键盘的项目实现_该项目需要内核支持configFS文件系统
C# WPF - LiveCharts Project
少儿编程scratch项目源代码文件案例素材-恐怖叉子 动画.zip