效果图

1)可以把图像的id存放数组中,利用setImageResource()或setImageDrawable()方法(放在数组中便于循环)

2)已经是第一张图像时,再点击“上一页”,应Toast提示:已经是第一张图像,并不再往前翻;同样,已经是最后一张图像时,再点击“下一页”,应Toast提示:已经是最后一张图像,并不再往后翻。

 

给出源代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="horizontal"
  8. tools:context="com.example.asus.a161304049_gary03.MainActivity">
  9.  
  10. <LinearLayout
  11. android:id="@+id/Layoutt"
  12. android:layout_width="match_parent"
  13. android:layout_height="215dp"
  14. android:orientation="vertical">
  15.  
  16. <ImageView
  17. android:id="@+id/imagexianshi"
  18. android:layout_width="match_parent"
  19. android:layout_height="180dp"
  20. app:srcCompat="@drawable/qzu1" />
  21.  
  22. <LinearLayout
  23. android:layout_width="match_parent"
  24. android:layout_height="match_parent"
  25. android:orientation="horizontal">
  26.  
  27. <Button
  28. android:id="@+id/Back"
  29. android:layout_width="100dp"
  30. android:layout_height="wrap_content"
  31. android:gravity="center"
  32. android:text="上一张" />
  33.  
  34. <Button
  35. android:id="@+id/Next"
  36. android:layout_width="100dp"
  37. android:layout_height="wrap_content"
  38. android:text="下一张" />
  39. </LinearLayout>
  40.  
  41. </LinearLayout>
  42.  
  43. </FrameLayout>

activity_main.xml

  1. package com.example.asus.a161304049_gary03;
  2.  
  3. import android.support.v7.app.AppCompatActivity;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.ImageView;
  7. import android.widget.Button;
  8. import android.widget.Toast;
  9.  
  10. public class MainActivity extends AppCompatActivity {
  11.  
  12. //用一个数组来保存图片
  13. int[] images = new int[]{
  14. R.drawable.qzu1,
  15. R.drawable.qzu2,
  16. R.drawable.qzu3,
  17. R.drawable.qzu5
  18. };
  19. //作为图片的下标
  20. int countImg = 0;
  21. //前进和后退的按钮
  22. private Button B1,B2;
  23. //用ImageView来存放图片
  24. private ImageView Xianshi;
  25. @Override
  26. protected void onCreate(Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. setContentView(R.layout.activity_main);
  29.  
  30. B1 = (Button) findViewById(R.id.Back);
  31. B2 = (Button) findViewById(R.id.Next);
  32. Xianshi = (ImageView) findViewById(R.id.imagexianshi);
  33.  
  34. Xianshi.setImageResource(images[0]);
  35.  
  36. B1.setOnClickListener(new Button.OnClickListener() {
  37. public void onClick(View v) {
  38. //这里就是一个简单的逻辑啦
  39. //如果选中的图片是第一张,那么就不能再选择前面的一张。输出Toast提示的消息
  40. if(countImg>0){
  41. countImg--;
  42. //用setImageResource来显示图片
  43. Xianshi.setImageResource(images[countImg]);
  44. }else{
  45. Toast.makeText(MainActivity.this,"已经是第一张图像,并不再往前翻",Toast.LENGTH_SHORT).show();
  46. }
  47. }
  48. });
  49.  
  50. B2.setOnClickListener(new Button.OnClickListener() {
  51. public void onClick(View v) {
  52. //如果选中的图片是最后,那么就不能再选择后面的一张。输出Toast提示的消息
  53. if(countImg<3){
  54. countImg++;
  55. Xianshi.setImageResource(images[countImg]);
  56. }else{
  57. Toast.makeText(MainActivity.this,"已经是最后一张图像,并不再往后翻",Toast.LENGTH_SHORT).show();
  58. }
  59. }
  60. });
  61. }
  62. }

MainActivity

ImageView控件用来存放图片展示出来,xml属性不是本文重点,这里就不再介绍。

第一步:定义成员变量

  1. //用一个数组来保存图片
  2. int[] images = new int[]{
  3. R.drawable.qzu1,
  4. R.drawable.qzu2,
  5. R.drawable.qzu3,
  6. R.drawable.qzu5
  7. };
  8. //作为图片的下标
  9. int countImg = 0;
  10. //前进和后退的按钮
  11. private Button B1,B2;
  12. //用ImageView来存放图片
  13. private ImageView Xianshi;

第二步:实现按钮"上一张"和"下一张"的事件响应机制

  1. protected void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.activity_main);
  4.  
  5. B1 = (Button) findViewById(R.id.Back);
  6. B2 = (Button) findViewById(R.id.Next);
  7. Xianshi = (ImageView) findViewById(R.id.imagexianshi);
  8.  
  9. Xianshi.setImageResource(images[0]);
  10.  
  11. B1.setOnClickListener(new Button.OnClickListener() {
  12. public void onClick(View v) {
  13. //这里就是一个简单的逻辑啦
  14. //如果选中的图片是第一张,那么就不能再选择前面的一张。输出Toast提示的消息
  15. if(countImg>0){
  16. countImg--;
  17. //用setImageResource来显示图片
  18. Xianshi.setImageResource(images[countImg]);
  19. }else{
  20. Toast.makeText(MainActivity.this,"已经是第一张图像,并不再往前翻",Toast.LENGTH_SHORT).show();
  21. }
  22. }
  23. });
  24.  
  25. B2.setOnClickListener(new Button.OnClickListener() {
  26. public void onClick(View v) {
  27. //如果选中的图片是最后,那么就不能再选择后面的一张。输出Toast提示的消息
  28. if(countImg<3){
  29. countImg++;
  30. Xianshi.setImageResource(images[countImg]);
  31. }else{
  32. Toast.makeText(MainActivity.this,"已经是最后一张图像,并不再往后翻",Toast.LENGTH_SHORT).show();
  33. }
  34. }
  35. });
  36. }

传送门:消息模式Toast.make Text的几种常见用法

Android_(控件)使用ImageView简单实现图片翻转的更多相关文章

  1. 矩阵, 矩阵 , Android基础控件之ImageView

    天下文章大家抄,以下所有内容,有来自copy,有来自查询,亦有自己的总结(目的是总结出自己的东西),所以说原创,不合适,说是转载也不恰当,所以我称之为笔记,可惜没有此分类选项,姑且不要脸一点,选择为原 ...

  2. 【Android】11.0 UI开发(二)——列表控件ListView的简单实现1

    ************************ 转载请注明出处:https://www.cnblogs.com/xiaofu007/p/10342462.html ***************** ...

  3. Android基本控件Spinner的简单使用【转】

    Android基本控件Spinner的简单使用 感谢大佬:https://blog.csdn.net/bingocoder/article/details/80469939 学习过了Textview, ...

  4. iOS开发UI篇—使用picker View控件完成一个简单的选餐应用

    iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162 ...

  5. Delphi7 第三方控件1stClass4000的TfcImageBtn按钮控件动态加载jpg图片例子

    Delphi7 第三方控件1stClass4000的TfcImageBtn按钮控件动态加载jpg图片例子 procedure TForm1.Button1Click(Sender: TObject); ...

  6. 抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单

    原文:抛砖引玉 [镜像控件] WPF实现毛玻璃控件不要太简单 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Vblegend_2013/articl ...

  7. Android_(控件)使用Gallery浏览手机上SD卡中图片

    运行截图: (发现后面两张照片是自己自拍,大写的尴尬对图片进行涂鸦了!!!) 程序结构: <?xml version="1.0" encoding="utf-8&q ...

  8. Android控件之ImageView(显示图片的控件)

    一.ImageView属性: android:src = "@drawable/ic_launcher"——ImageView的内容图像(可以和android:background ...

  9. android基本控件学习-----ImageView

    ImageView的讲解 一.src和background的区别 background我们通常理解是背景,而src是内容,当使用src填入图片的时候是以图片的大小直接填充,并不会进行拉伸,而backg ...

随机推荐

  1. c# winform 窗体间的传值

    1.父窗体传值给子窗体: 1) 父窗体: FrmXX frm = ,); frm.Owner = this; frm.ShowDialog(); 子窗体: ; public FrmXX(int ty, ...

  2. mongo(一)

    入门文章地址:https://blog.csdn.net/muguli2008/article/details/80591256 按下面文件创建好文件下,然后执行下面的命令 mongod --port ...

  3. Windows 7 系统下显示文件类型的扩展名和隐藏文件

    一.显示扩展名 点击开始菜单 在搜索框中输入「文件夹选项」并单击 切换到「查看」栏,取消勾选「隐藏已知文件类型的扩展名」这一项 设置完成 ps: 你也可以通过单击下图位置进行相应操作来达到同样的效果 ...

  4. linux下内存检测工具的使用和对比

    linux背后隐藏着各种丰富的工具,学会这些工具,让这些工具更好地服务于我们的项目开发,不仅可以提高工作的效率,而且可以增强个人技术力. 参考:http://blog.chinaunix.net/ui ...

  5. http协议:http请求、http响应、间隔时间跳转页面、禁用浏览器缓存

    转自:https://blog.csdn.net/u013372487/article/details/46991623 http协议 1. http协议是建立在  tcp/ip协议基础上. 2. 我 ...

  6. 第十三章、元类(metaclass)

    目录 第十三章.元类(metaclass) 一.什么是元类 二.为什么用元类 第十三章.元类(metaclass) 一.什么是元类 在python中一切皆对象,那么我们用class关键字定义的类本身也 ...

  7. 读书笔记《Oracle从入门到精通》

    目录 一.SQL基础 1.SQL种类 2.常用数据类型 3.DDL 4.约束 5.DML语句 二.SELECT语句 1.结果集'*'与指定列 2.拼接符 || 3.substr函数 4.instr函数 ...

  8. 使用wget下载百度云资源

    目录 使用wget下载百度云资源 一.材料准备: 二.步骤 三.总结 使用wget下载百度云资源 一.材料准备: [BaiduPan explorer]谷歌插件,可以加载文件的真实下载地址 [Chro ...

  9. go语言在Windows系统下编译成linux系统可执行文件

    package main import ( "fmt" "os" "os/exec" ) //filepath: 要编译的文件的路径 fun ...

  10. 内置函数 lambda sorted filter map 递归

    一 lambda 匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算 n 的 n次方 def func(n): return n**n print(func(10)) f = lambda ...