简单图片浏览器的实现
本例程的实现界面如下:
界面所用到的组件是ImageView,不熟悉的属性是android:scaleType="centerCrop",它的值有很多:
center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
fitXY 把图片不按比例扩大/缩小到View的大小显示
matrix 用矩阵来绘制,动态缩小放大图片来显示。
为了实现不同状态下按钮的背景图片,用<selector>标签实现,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 按钮按下时 ,ImageButton上显示的图片--><item android:state_pressed="true" android:drawable="@drawable/preb"/><!-- 正常情况下,ImageButton上显示的图片 --><item android:state_pressed="false" android:drawable="@drawable/preg"/>
</selector>
界面的布局文件是:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/showView"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="@string/hello_world"/><ImageView android:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:scaleType="centerCrop"android:src="@drawable/pic1"/><LinearLayoutandroid:id="@+id/linear1" android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="25dip"android:orientation="horizontal"> <ImageButton android:id="@+id/preBut"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="30dip"android:src="@drawable/selectora"/> <ImageButton android:id="@+id/nextBut"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="100dip"android:src="@drawable/selectorb"/> </LinearLayout>
</LinearLayout>
MainActivity中的代码如下,用单独定义的类实现OnClickListener()的接口:
package com.toby.chap3_3_1;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;public class MainActivity extends Activity {private ImageButton preBtn,nextBtn;private ImageView imageView;private int currentImgId=0;//记录当前ImageView中显示图片的IDint imgID[]={R.drawable.pic1,R.drawable.pic2,R.drawable.pic3};//存储ImageView显示的图片的ID@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);imageView=(ImageView)findViewById(R.id.imageView);preBtn=(ImageButton)findViewById(R.id.preBut);nextBtn=(ImageButton)findViewById(R.id.nextBut);preBtn.setOnClickListener(new ButtonListener());nextBtn.setOnClickListener(new ButtonListener());}class ButtonListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubif(v==preBtn){//如果按的是上一张按钮currentImgId=(currentImgId-1+imgID.length)%imgID.length;//计算机图片的在数组中的下标imageView.setImageResource(imgID[currentImgId]);//设置ImageView显示的图片}if(v==nextBtn){//如果按的是下一张按钮currentImgId=(currentImgId+1)%imgID.length;//计算机图片的在数组中的下标imageView.setImageResource(imgID[currentImgId]);//设置ImageView显示的图片}}}
}
简单图片浏览器的实现相关推荐
- 安卓学习第14课——GridView(简单图片浏览器1)
今天学习的是GridView组件,利用的部分只是还是Adapter.imageView的知识,制作了简单图片浏览器 <LinearLayout xmlns:android="http: ...
- 【Android】简单图片浏览器
开始重新学习Android,还是依照<疯狂Android讲义>. 简单图片浏览器: 功能:图片浏览器,点击图片可以切换. 注意:在res/drawable中添加p1.jpg.p2.jpg. ...
- Android小程序(3)--简单图片浏览器
简单图片浏览器 此使用的知识点是XML布局文件与Java代码的混合来控制UI界面. 首先在布局文件中定义简单的线性布局容器: <?xml version="1.0" enco ...
- C# 系统应用之ListView实现简单图片浏览器
最近有同学问我如何使用ListView加载图片列表,前面在"C#系统应用"中TreeView+ListView+ContextMenuStrip控件实现树状图显示磁盘目录,并在Li ...
- java 简单图片浏览器_Java实现简单的图片浏览器
第一次写博客,不喜勿喷. 最近一个小师弟问我怎么用Java做图片浏览器,感觉好久没玩Java了,就自己动手做了一下. 学校的教程是用Swing来做界面的,所以这里也用这个来讲. 首先要做个大概的界面出 ...
- html5照片浏览,实践html5实例–简单图片浏览器
使用canvas来进行绘画,它像很多其他dom对象一样,有很多属性和方法,操作这些方法,实现绘画 获取canvas对象,调用document.getElementById()方法 调用canvas对象 ...
- UI基础篇-iOS中简单图片浏览器的实现
1 // 2 3 // HYViewController.m 4 5 // 01-图片浏览器复习 6 7 // 8 9 // Created by apple on 15-4-10. 10 11 // ...
- WPF简单图片浏览器
用ListBox和Border控件实现WPF简单的图片浏览. 1.MainWindow.xaml代码如下: <Windowxmlns="http://schemas.microsoft ...
- Android 简单图片浏览器
最后成果图: 第一步:编辑XML布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
最新文章
- mysql 错误 0152_SP2-1503 SP2-0152 错误解决
- 13、mysql中视图的应用
- 剑指offer 15.二进制中1的个数
- 蓄电池单格电压多少伏_12v电瓶充满电多少伏正常
- JS的 setTimeout 和 bind 使用 、复选框限制选定数据jq
- maple软件安装教程
- 传感器学习——ESP8266(无线串口使用)
- 踩坑记录:关于低版本firefox43.0.1在控件中定义onclick=remove(),点击按钮,按钮会消失。
- git--工作区、暂存区、本地仓库、远程仓库
- NameError: name ‘_name_‘ is not define!解决方法
- Unexpected Exception caught setting '' on 'class com.: Error setting expression '' with value ['', ]
- html 单元格被撑开_tabletd宽度被撑开的问题。棘手~_html/css_WEB-ITnose
- 软件测试——Docker基本命令汇总
- Android穿山甲SDK接入信息流广告
- 黑苹果(i7-4790,华硕B85-plus主板)的过程
- Android网易新闻评论盖楼效果的实现
- stata行业变量怎么赋值_PEP572:赋值表达式(海象符)
- Deep dream——《Going Deeper into Neural Networks》
- MRPII/ERP实施和应用十大忠告(转载)
- 1024程序员节,17城公益骑行,传智播客邀你益骑燃!
热门文章
- 脚本大全_抖音文案大全2020励志:抖音最火励志搞笑句子,直接套用上热门
- cheked复选框返回值的时候选中
- Exchange日常管理之二十二:配置保留策略
- Solr配置与简单Demo[转]
- TCP协议三次握手过程分析
- 经常用到的JS 表单验证函数
- Myeclipse中遇到Unauthorized
- 删除数据 DataIntegrityViolationException: not-null property references a null or transient value解决...
- WCF之元数据交换 (Metadata Exchange)
- django里static配置静态文件的引入