效果图

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

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

 

给出源代码

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context="com.example.asus.a161304049_gary03.MainActivity"> <LinearLayout
android:id="@+id/Layoutt"
android:layout_width="match_parent"
android:layout_height="215dp"
android:orientation="vertical"> <ImageView
android:id="@+id/imagexianshi"
android:layout_width="match_parent"
android:layout_height="180dp"
app:srcCompat="@drawable/qzu1" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"> <Button
android:id="@+id/Back"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="上一张" /> <Button
android:id="@+id/Next"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="下一张" />
</LinearLayout> </LinearLayout> </FrameLayout>

activity_main.xml

package com.example.asus.a161304049_gary03;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends AppCompatActivity { //用一个数组来保存图片
int[] images = new int[]{
R.drawable.qzu1,
R.drawable.qzu2,
R.drawable.qzu3,
R.drawable.qzu5
};
//作为图片的下标
int countImg = 0;
//前进和后退的按钮
private Button B1,B2;
//用ImageView来存放图片
private ImageView Xianshi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); B1 = (Button) findViewById(R.id.Back);
B2 = (Button) findViewById(R.id.Next);
Xianshi = (ImageView) findViewById(R.id.imagexianshi); Xianshi.setImageResource(images[0]); B1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//这里就是一个简单的逻辑啦
//如果选中的图片是第一张,那么就不能再选择前面的一张。输出Toast提示的消息
if(countImg>0){
countImg--;
//用setImageResource来显示图片
Xianshi.setImageResource(images[countImg]);
}else{
Toast.makeText(MainActivity.this,"已经是第一张图像,并不再往前翻",Toast.LENGTH_SHORT).show();
}
}
}); B2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//如果选中的图片是最后,那么就不能再选择后面的一张。输出Toast提示的消息
if(countImg<3){
countImg++;
Xianshi.setImageResource(images[countImg]);
}else{
Toast.makeText(MainActivity.this,"已经是最后一张图像,并不再往后翻",Toast.LENGTH_SHORT).show();
}
}
});
}
}

MainActivity

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

第一步:定义成员变量

    //用一个数组来保存图片
int[] images = new int[]{
R.drawable.qzu1,
R.drawable.qzu2,
R.drawable.qzu3,
R.drawable.qzu5
};
//作为图片的下标
int countImg = 0;
//前进和后退的按钮
private Button B1,B2;
//用ImageView来存放图片
private ImageView Xianshi;

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

 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); B1 = (Button) findViewById(R.id.Back);
B2 = (Button) findViewById(R.id.Next);
Xianshi = (ImageView) findViewById(R.id.imagexianshi); Xianshi.setImageResource(images[0]); B1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//这里就是一个简单的逻辑啦
//如果选中的图片是第一张,那么就不能再选择前面的一张。输出Toast提示的消息
if(countImg>0){
countImg--;
//用setImageResource来显示图片
Xianshi.setImageResource(images[countImg]);
}else{
Toast.makeText(MainActivity.this,"已经是第一张图像,并不再往前翻",Toast.LENGTH_SHORT).show();
}
}
}); B2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
//如果选中的图片是最后,那么就不能再选择后面的一张。输出Toast提示的消息
if(countImg<3){
countImg++;
Xianshi.setImageResource(images[countImg]);
}else{
Toast.makeText(MainActivity.this,"已经是最后一张图像,并不再往后翻",Toast.LENGTH_SHORT).show();
}
}
});
}

传送门:消息模式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. YII2中controller中的behaviors中的behavior内部是如何被使用的?

    1. behaviors方法的调用: 在祖先对象components中有一个ensureBehaviors方法,代码如下: /** * Makes sure that the behaviors de ...

  2. linux命令详解——iostat

    简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息.用户可以通过指定统计的次数和时间 ...

  3. js动态添加控件(输入框为例)

    写在前面 昨天得到一个需求,需要在账户登记页面中动态添加输入框,经过半天的捣鼓,最终完美成型,写下来跟大家分享下, 供大家参考 开始复制代码了 如果复制了我所有代码的话,注意看js最后面方法的备注,最 ...

  4. API开发之接口安全(一)----生成sign

    在对于API的开发中 最让人头疼的 就是接口数据暴露 让一些有心之人 抓包之后恶意请求 那么如何解决这一弊端呢?自然而然的 我们就想到了 加密  那我们又如何加密 如何解密 才能使之有最安全的效率呢? ...

  5. Java运行环境绿色部署配置

    这个Java的绿色安装配置,还有从未自己的使用电脑说起来. 最近电脑运行慢,很长时间没有清理及维护了,而且有可能中毒或木马了,所以就把系统进行了Ghost还原了,所以原来安装的jdk环境也无法使用了, ...

  6. USRPX310 在GNU Radio上更改通道A或B

    UHD:USRP sink和USRP source默认是A通道发射接收.或设置 Mb0:Subdev Spec: A:0 更改为B通道收发:设置 Mb0:Subdev Spec: B:0

  7. POI读取Excel如何判断行为空

    public static boolean isRowEmpty(Row row) { for (int c = row.getFirstCellNum(); c < row.getLastCe ...

  8. Html中使用Cookie取值赋值

    //设置Cookie function setCookie(name, value) { var Days = 1; var exp = new Date(); exp.setTime(exp.get ...

  9. canvas制作圆形动态加载进度实例

    window.onload=function(){ var loading=document.getElementById('loading'); var context=loading.getCon ...

  10. 部署dashboard

    1.获取k8s版本: 2.访问dashboard的github:https://github.com/kubernetes/dashboard/releases,然后找到对应的版本 3.然后将yaml ...