Android_ImageView简单实现图片翻转

效果图

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的几种常见用法

原文地址:https://www.cnblogs.com/1138720556Gary/p/8975257.html

时间: 2024-08-30 04:33:14

Android_ImageView简单实现图片翻转的相关文章

CSS图片翻转动画技术详解

因为不断有人问我,现在我补充一下:IE是支持这种技术的!尽管会很麻烦.需要做的是旋转front和back元素,而不是旋转整个容器元素.如果你使用的是最新版的IE,可以忽略这一节.IE10+是支持的,IE9完全不支持CSS动画. CSS动画非常的有趣:这种技术的美就在于,通过使用很多简单的属性,你能创建出就连皮克斯动画制作公司也会赞叹的漂亮的消隐效果.其中代表性的一种就是CSS图片翻转效果,能让你看到一张卡片的正反两面上的内容.本文就是要用最简单的方法向大家介绍如何创建这种效果. 简单说明:这并不

自定义Gallery控件实现简单3D图片浏览器

本篇文章主要介绍如何使用自定义的Gallery控件,实现3D效果的图片浏览器的效果. 话不多说,先看效果. 上面是一个自定义的Gallery控件,实现倒影和仿3D的效果,下面是一个图片查看器,点击上面的小图片,可以在下面查看大图片. 下面重点说一下,实现图片查看器的思路. 1.手机中图片路径的获取 首先,先不管图片如何展示,如果我们想实现图片查看器的功能,我们首先需要做的是获取到所有的图片的路径信息,只有这样,我们才能实现对图片的查看. 我们可以使用下面的代码实现 private List<St

CSS3图片翻转切换案例及其中重要属性解析

图片翻转切换,在不使用CSS3的情况下,一般都是使用JS实现动画,同时操作元素的width和left,或者height和top以模拟翻转的效果,并在适当时候改变src或者z-index实现图片切换. 无意中发现CSS3的方案, http://www.webhek.com/css-flip/  赶紧学习并总结如下 先上代码(多数照搬自上述链接,有很大兼容问题,小心使用) HTML: <div class="flip-container"> <div class=&quo

Javascript实现图片翻转

使用Js的对象属性能实现简单的翻转效果.通过onMouseover事件和onMouseOut事件就能实现鼠标移到链接上和移开链接发生反应.给两个图片加上链接实现都能翻转的效果. reverse.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图片翻转Demo</title> <style type="text/css&

JS实现简单的图片轮转

+(UIImage*)createImageFromView:(UIView*)view { //obtain scale CGFloat scale = [UIScreen mainScreen].scale; 开始绘图,下面方法,第一个参数表示区域大小.第二个参数表示是否是非透明的.如果需要显示半透明效果,需要传NO,否则传YES.第三个参数就是屏幕密度了 UIGraphicsBeginImageContextWithOptions(CGSizeMake(view.frame.size.wi

简单的图片裁剪服务器

自己写的一个简单的图片服务器,可以读取FastDFS上的图片,根据参数进行图片裁剪输出到前台 改项目可以上传图片到FastDFS,读取FastDFS上存储的图片,前面可以增加Varnish图片缓存服务器缓解图片裁剪压力 使用一个简单的Servlet实现 package com.imgcut.servlet; import java.io.IOException; import java.io.InputStream; import javax.servlet.ServletException;

Qt项目实战2:简单的图片查看器(1)

在博文http://www.cnblogs.com/hancq/p/5817108.html中介绍了使用空的Qt项目创建带有菜单栏.工具栏的界面. 这里,使用一个简单的图片查看器项目,来熟悉一下Qt的图片显示和基本操作. 该项目分为两部分: (1)实现图片的打开.关闭.居中显示.上一张/下一张切换 (2)实现图片的放大.缩小.左旋.右旋.另存为等操作 需要用的Qt类: QFileDialog QImage QPixmap QFileInfo 使用空的Qt项目创建带有菜单栏和工具栏的界面的操作参考

用css实现图片翻转

<!doctype html><html><head><meta charset="utf-8"><title>用css实现图片翻转</title><script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>.flip-container { perspecti

最简单的图片查看器

最简单的图片查看器,支持放大.缩小.鼠标拖动. 下面是代码,非常简单: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>pic view</title> </head> <body> <div id="pic" class="pic"