PyQt实现界面翻转切换效果

PyQt实现界面翻转切换效果是用qt的场景功能来实现的,用到了QGraphicsView,QGraphicsLinearLayout,QGraphicsWidget等有关qt场景的库。算是对qt场景的一个小小的尝试,涉及内容不深,程序效果并是随心所欲,需要去进一步的改善和提高。暂且先把代码贴在此处,供大家学习和指正。

工程包括四个类:

界面A,TestMainWindow,用来充当翻转效果的A面。
界面B,TestMainWindowTwo,用来充当翻转效果的B面。
绘图界面:TestGraphicWidget,用来绘制界面A和B。
主界面:MainWindow,是一个全屏的透明窗口,是整个效果展现的总舞台,内部包含一个QGraphicsScene和一个QGraphicsView,用来展示效果中的界面翻转和界面替换。

整个效果的原理总结为几点:

首先,将整个效果需要的所有界面添加到TestGraphicWidget中,在将TestGraphicWidget放入到QGraphicsScene中,然后经QGraphicsScene添加到主界面中。
然后,界面切换实现,两个函数,非常简单,要显示A,就把B移除并隐藏,要显示B,则把A移除并隐藏。

def setOne(self):
  self.twoWidget.hide()
  self.oneWidget.show()
  self.layout.removeItem(self.twoTestWidget)
  self.layout.addItem(self.oneTestWidget)
  self.view.update() 

def setTwo(self):
  self.oneWidget.hide()
  self.twoWidget.show()
  self.layout.removeItem(self.oneTestWidget)
  self.layout.addItem(self.twoTestWidget)
  self.view.update()

然后是最重要的,翻转效果的实现,用的是TestGraphicWidget特有的翻转方法,参数可以根据实景情况调整。

def transeformR(self,count):
  r = self.form.boundingRect()
  for i in range(1,count):
    self.form.setTransform(QTransform()
                .translate(r.width() / 2, r.height() / 2)
                .rotate(91.00/count*i - 360 * 1, Qt.YAxis)
                .translate(-r.width() / 2, -r.height() / 2))
    self.waitMethod()
    self.view.update() 

  self.form.setTransform(QTransform()
                .translate(r.width() / 2, r.height() / 2)
                .rotate(270 - 360 * 1, Qt.YAxis)
                .translate(-r.width() / 2, -r.height() / 2))
  self.view.update()
  if self.formflag %2 == 0:
    self.setOne()
  else:
    self.setTwo() 

  for i in range(1,count):
    self.form.setTransform(QTransform()
                  .translate(r.width() / 2, r.height() / 2)
                  .rotate(270 + 93.00/count*i - 360 * 1, Qt.YAxis)
                  .translate(-r.width() / 2, -r.height() / 2))
    self.waitMethod()
    self.view.update()

而且提供了两种让程序等待但界面不会卡死的方法:

def sleep(self,msec): 

  dieTime = QTime.currentTime().addMSecs(msec) 

  print dieTime,QTime.currentTime()
  #a = 0
  while( QTime.currentTime() < dieTime ):
    #print "000000000000"
    QCoreApplication.processEvents(QEventLoop.AllEvents, 100) 

def waitMethod(self):
  tt = QElapsedTimer()
  tt.start() 

  q = QEventLoop()
  t = QTimer()
  t.setSingleShot(True)
  self.connect(t, SIGNAL("timeout()"), q.quit)
  t.start(1)  # 5s timeout
  q.exec_()
  if(t.isActive()):
    t.stop()
  else:
    pass 

  print tt.elapsed()

下面粘上源码,供参考,这个源码可以直接运行,内部的调试信息可以忽略:

#coding:utf-8
'''''
Created on 2015 7 15
@author: guowu
''' 

from PyQt4.QtGui import QWidget, QTextEdit, QPushButton, QGraphicsScene,\
  QGraphicsWidget, QGraphicsLinearLayout, QGraphicsView, QApplication,\
  QTransform, QHBoxLayout, QPainter, QLabel, QGraphicsLayoutItem, QFont,\
  QPixmap, QBrush
from PyQt4.QtCore import Qt, QTime, QCoreApplication, QEventLoop, QObject,\
  SIGNAL, QPoint, QTimer, QBasicTimer, QElapsedTimer, QPointF
import sys
import time 

class TestGraphicWidget(QGraphicsWidget):
  def __init__(self,parent=None):
    super(TestGraphicWidget,self).__init__(parent)
    self.setWindowFlags(Qt.Window)
    self.setWindowTitle("Turn Widget")
    self.resize(400,400)
    #self.setPos(QPoint(0,0))
    self.mousePressed = False 

  def closeEvent(self,event):
    print "closeclosetest"
    self.emit(SIGNAL("startTurn")) 

  def mouseMoveEvent(self, event):
    print "move move"
    if self.mousePressed:
      #self.move(self.pos() + event.pos() - self.currentPos)
      self.setPos(self.pos() + event.pos() - self.currentPos) 

  def mousePressEvent(self, event):
    if event.buttons() == Qt.LeftButton:
      self.currentPos = event.pos()
      self.mousePressed = True  

class TestMainWindow(QWidget):
  def __init__(self,parent=None):
    super(TestMainWindow,self).__init__(parent)
    #self.setStyleSheet("background: transparent;border:0px;")
    self.setAttribute(Qt.WA_TranslucentBackground,True) 

    self.firstButton = QPushButton(u"翻转")
    self.secondButton = QPushButton(u"翻转")
    self.thirdButton = QPushButton(u"翻转") 

    self.mainLayout = QHBoxLayout(self)
    self.mainLayout.addWidget(self.firstButton)
    self.mainLayout.addWidget(self.secondButton)
    self.mainLayout.addWidget(self.thirdButton) 

    self.connect(self.firstButton, SIGNAL("clicked()"), self.startTurn)
    self.connect(self.secondButton, SIGNAL("clicked()"), self.startTurn)
    self.connect(self.thirdButton, SIGNAL("clicked()"), self.startTurn) 

  def startTurn(self):
    self.emit(SIGNAL("buttonclicked")) 

  def closeEvent(self,event):
    print "closeclosetest"
    self.emit(SIGNAL("startTurn")) 

  def paintEvent(self,event):
    #print "paintevent"
    painter = QPainter(self)
    painter.setRenderHint(QPainter.SmoothPixmapTransform, True)#像素光滑
    painter.setRenderHint(QPainter.Antialiasing, True)#反锯齿
    pix = QPixmap("cloud-bak.jpg").scaled(self.width(),self.height())
    painter.setBrush(QBrush(pix))
    painter.drawRoundRect(self.rect(),5,5) 

class TestMainWindowTwo(QWidget):
  def __init__(self,parent=None):
    super(TestMainWindowTwo,self).__init__(parent)
    #self.setStyleSheet("QWidget{background: transparent;border:0px;}")
    self.setAttribute(Qt.WA_TranslucentBackground,True) 

    self.firstButton = QPushButton(u"p翻转")
    self.secondButton = QPushButton(u"p翻转")
    self.thirdButton = QPushButton(u"p翻转") 

    self.mainLayout = QHBoxLayout(self)
    self.mainLayout.addWidget(self.firstButton)
    self.mainLayout.addWidget(self.secondButton)
    self.mainLayout.addWidget(self.thirdButton) 

    self.connect(self.firstButton, SIGNAL("clicked()"), self.startTurn)
    self.connect(self.secondButton, SIGNAL("clicked()"), self.startTurn)
    self.connect(self.thirdButton, SIGNAL("clicked()"), self.startTurn) 

  def startTurn(self):
    self.emit(SIGNAL("buttonclicked")) 

  def paintEvent(self,event):
    #print "paintevent"
    painter = QPainter(self)
    painter.setRenderHint(QPainter.SmoothPixmapTransform, True)#像素光滑
    painter.setRenderHint(QPainter.Antialiasing, True)#反锯齿
    pix = QPixmap("login.jpg").scaled(self.width(),self.height())
    painter.setBrush(QBrush(pix))
    painter.drawRoundRect(self.rect(),5,5) 

class MainWindow(QWidget):
  def __init__(self,parent=None):
    super(MainWindow,self).__init__(parent) 

    #self.setStyleSheet("QGraphicsView{background:rgb(0,0,0,0);border:0px;}") 

    self.formflag = 0 

    self.scene = QGraphicsScene() 

    self.setWindowFlags(Qt.FramelessWindowHint|Qt.WindowStaysOnTopHint)
    self.setAttribute(Qt.WA_TranslucentBackground,True) 

    #创建部件,并关联它们的信号和槽
    self.oneWidget = TestMainWindow()
    self.connect(self.oneWidget, SIGNAL("buttonclicked"),self.startTurn) 

    self.twoWidget = TestMainWindowTwo()
    self.connect(self.twoWidget, SIGNAL("buttonclicked"),self.startTurn) 

    #self.textEdit = QGraphicsLayoutItem(self.edit)
    self.oneTestWidget = self.scene.addWidget(self.oneWidget)
    self.twoTestWidget = self.scene.addWidget(self.twoWidget) 

    self.form = TestGraphicWidget()
    self.connect(self.form, SIGNAL("startTurn"),self.close)
    #将部件添加到布局管理器中 

    self.layout = QGraphicsLinearLayout(self.form)
    self.layout.setSpacing(0)
    self.layout.addItem(self.oneTestWidget)
    self.layout.addItem(self.twoTestWidget) 

    self.layout.removeItem(self.twoTestWidget)
    self.twoWidget.hide() 

    #创建图形部件,设置其为一个顶层窗口,然后在其上应用布局
    #self.form.setWindowFlags(Qt.Window|Qt.FramelessWindowHint)
    #self.form.setWindowTitle("Widget Item")
    #self.form.setLayout(layout) 

    self.scene.addItem(self.form) 

    #self.form.setPos(QPointF(0,0)) 

    #self.form.hide() 

    self.view = QGraphicsView(self.scene,self)
    #self.view.setScene(self.scene)
    self.view.setRenderHint(QPainter.Antialiasing)
    self.view.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate)
    self.view.resize(QApplication.desktop().width(),QApplication.desktop().height())
    self.view.setStyleSheet("background: transparent;border:0px;")
    self.view.setWindowFlags(Qt.FramelessWindowHint)
    self.view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
    self.view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
    self.view.move(QPoint(0,0))
    #self.view.setAttribute(Qt.WA_TranslucentBackground,True) 

    #self.form.resize(500,500)
    #self.form.setWindowFlags(Qt.FramelessWindowHint)
    #for(int i=1;i<=360;i++) 

  def setOne(self): 

    self.twoWidget.hide()
    self.oneWidget.show()
    self.layout.removeItem(self.twoTestWidget)
    self.layout.addItem(self.oneTestWidget) 

    self.view.update() 

  def setTwo(self): 

    self.oneWidget.hide()
    self.twoWidget.show()
    self.layout.removeItem(self.oneTestWidget)
    self.layout.addItem(self.twoTestWidget) 

    self.view.update() 

  def transeformT(self,count): 

    r = self.form.boundingRect()
    for i in range(1,count):
      print "............."
      self.form.setTransform(QTransform()
                  .translate(r.width() / 2, r.height() / 2)
                  .rotate(364.00/count*i - 360 * 1, Qt.YAxis)
                  .translate(-r.width() / 2, -r.height() / 2))
      self.waitMethod()
      #self.sleep(1)
      #time.sleep(1)
      self.view.update()
#      

  def transeformS(self,count):
    r = self.form.boundingRect()
    for i in range(1,count):
      print "............."
      self.form.setTransform(QTransform()
                  .translate(r.width() / 2, r.height() / 2)
                  .rotate(182.00/count*i - 360 * 1, Qt.YAxis)
                  .translate(-r.width() / 2, -r.height() / 2))
      self.waitMethod()
      self.view.update() 

  def transeformR(self,count):
    r = self.form.boundingRect()
    for i in range(1,count):
      print "............."
      self.form.setTransform(QTransform()
                  .translate(r.width() / 2, r.height() / 2)
                  .rotate(91.00/count*i - 360 * 1, Qt.YAxis)
                  .translate(-r.width() / 2, -r.height() / 2))
      self.waitMethod()
      self.view.update() 

    self.form.setTransform(QTransform()
                  .translate(r.width() / 2, r.height() / 2)
                  .rotate(270 - 360 * 1, Qt.YAxis)
                  .translate(-r.width() / 2, -r.height() / 2))
    self.view.update()
    if self.formflag %2 == 0:
      self.setOne()
    else:
      self.setTwo() 

    for i in range(1,count):
      self.form.setTransform(QTransform()
                    .translate(r.width() / 2, r.height() / 2)
                    .rotate(270 + 93.00/count*i - 360 * 1, Qt.YAxis)
                    .translate(-r.width() / 2, -r.height() / 2))
      self.waitMethod()
      self.view.update() 

  def transeformB(self,count):
    r = self.form.boundingRect()
    for i in range(1,count):
      print "............."
      self.form.setTransform(QTransform()
                  .translate(r.width(), r.height())
                  .rotate(91.00/count*i - 360 * 1, Qt.YAxis)
                  .translate(-r.width(), -r.height()))
      self.waitMethod()
      self.view.update() 

    self.form.setTransform(QTransform()
                  .translate(r.width(), r.height())
                  .rotate(270 - 360 * 1, Qt.YAxis)
                  .translate(-r.width(), -r.height()))
    self.view.update() 

    for i in range(1,count):
      self.form.setTransform(QTransform()
                    .translate(r.width(), r.height())
                    .rotate(270 + 93.00/count*i - 360 * 1, Qt.YAxis)
                    .translate(-r.width(), -r.height()))
      self.waitMethod()
      self.view.update() 

  def transeform(self):
    print self.form.pos()
    #self.scene.itemAt(QPointF)
    rxx = self.scene.itemsBoundingRect()
    rx = self.form.boundingRect()
    r = self.form.geometry()
    print r,rx,rxx
    for i in range(1,361):
      print self.form.pos()
      print "............."
      #print r.width(),r.height()
      transform = QTransform()
      transform.translate(r.width() / 2, r.height()/2)#中心点,原点
      transform.rotate(i - 360 * 1, Qt.YAxis)#绕X轴旋转角度
      self.form.setTransform(transform) 

#       self.form.setTransform(QTransform()
#                  .translate(r.width() / 2, r.height() / 2)
#                  .rotate(i - 360 * 1, Qt.YAxis)
#                  .translate(-r.width() / 2, -r.height() / 2))
#       self.form.setTransform(QTransform()
#                  .translate(250, 250)
#                  .rotate(i - 360 * 1, Qt.YAxis)
#                  .translate(-250, -250))
      self.waitMethod()
      self.view.update()
#
  def startTurn(self):
    self.formflag += 1
    self.transeformR(30)
    #self.transeform()
    #self.form.close()
    #self.view.close()
  def closeEvent(self,event):
    print "close"
    self.form.close()
    self.view.close()
    self.close() 

  def sleep(self,msec): 

    dieTime = QTime.currentTime().addMSecs(msec) 

    print dieTime,QTime.currentTime()
    #a = 0
    while( QTime.currentTime() < dieTime ):
      #print "000000000000"
      QCoreApplication.processEvents(QEventLoop.AllEvents, 100)     

  def waitMethod(self):
    tt = QElapsedTimer()
    tt.start() 

    q = QEventLoop()
    t = QTimer()
    t.setSingleShot(True)
    self.connect(t, SIGNAL("timeout()"), q.quit)
    t.start(1)  # 5s timeout
    q.exec_()
    if(t.isActive()):
      t.stop()
    else:
      pass 

    print tt.elapsed() 

if __name__ == "__main__":
  app = QApplication(sys.argv) 

  font = QFont()
  font.setPointSize(16)
  font.setFamily(("Roman Times"))
  app.setFont(font) 

  c = MainWindow()
  c.show()
  c.move(QPoint(0,0))
  app.exec_()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Python实现翻转数组功能示例
  • Python数据结构之翻转链表
  • 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
  • PyQT实现多窗口切换
  • PyQt5每天必学之切换按钮
  • Mac 上切换Python多版本
  • Python切换pip安装源的方法详解
  • python使用pyhook监控键盘并实现切换歌曲的功能
  • python切换hosts文件代码示例
(0)

相关推荐

  • Python切换pip安装源的方法详解

    一.pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能. Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装. 二.Linux下的源配置 检查pip.conf文件是否存在 >>  cd ~ >>  mkdir .pip >>  ls ~/.pip 三.编辑源  方案1: 直接编辑pip.conf sud

  • Mac 上切换Python多版本

    Mac上自带了Python2.x的版本,有时需要使用Python3.x版本做开发,但不能删了Python2.x,可能引起系统不稳定,那么就需要安装多个版本的Python. 1.安装Python3.x版本,我安装了3.6.1: 2.打开终端(terminal),输入:sudo vi ~/.bashrc: 3.在弹出的编辑页面顶部输入并保存: alias python2='/Library/Frameworks/Python.framework/Versions/2.x/bin/python2.x'

  • 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转

    原题: Q:有a.txt文件,里面内容如下 1234569 abcABCabc 要求使用awk打印出以下结果 987654321 cbaCBAcba A: shell  :[root@vps tmp]# rev a.txt 9654321 cbaCBAcbaperl : [root@vps tmp]# perl -nle 'print scalar reverse $_;' a.txt 9654321 cbaCBAcbaawk: [root@vps tmp]# awk '{num=split($

  • PyQt5每天必学之切换按钮

    切换按钮是QPushButton的特殊模式.它是一个具有两种状态的按钮:按压和未按压.我们通过这两种状态之间的切换来修改其它内容. #!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 在这个例子中,我们创建三个切换按钮. 他们将控制一个QFrame的背景颜色. 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年8月3日 ""&q

  • python使用pyhook监控键盘并实现切换歌曲的功能

    自己在玩dota的时候有时候喜欢边玩游戏边听音乐,但是切换下一曲的时候必须得切出游戏,而切换音乐的热键ctrl+alt+方向键在游戏的时候没有用,好事蛋疼,今天试试使用python来实现键盘监控切换下一曲,下面贴出代码 import pythoncom, pyHook import win32gui,win32api,win32con Lcontrol_press = False Lmenu_press = False Left_press = False def OnKeyboardEvent

  • Python实现翻转数组功能示例

    本文实例讲述了Python实现翻转数组功能.分享给大家供大家参考,具体如下: 题目描述 给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个数组升序排列.其中数组片段[l,r]表示序列a[l], a[l+1], ..., a[r].原始数组为 a[1], a[2], ..., a[l-2], a[l-1], a[l], a[l+1], ..., a[r-1], a[r], a[r+1], a[r+2], ..., a[n-1], a[n], 将片段[

  • Python数据结构之翻转链表

    翻转一个链表 样例:给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 一种比较简单的方法是用"摘除法".就是先新建一个空节点,然后遍历整个链表,依次令遍历到的节点指向新建链表的头节点. 那样例来说,步骤是这样的: 1. 新建空节点:None 2. 1->None 3. 2->1->None 4. 3->2->1->None 代码就非常简单了: """

  • PyQT实现多窗口切换

    最近做个软件,用PyQT写的,在实现菜单栏点击弹出新窗口的时候严重被卡壳,发现用WxPython的思想和方式来做完全无法实现.PyQT的中文资料实在是太少了.看了点英文资料和QT的资料,逆推PyQT的实现方法,总算搞定.下面是一个小demo. 主界面的代码如下所示: # -*- coding: utf-8 -*- from PyQt4 import QtCore, QtGui from dialog1 import Dialog1 from dialog2 import Dialog2 impo

  • python切换hosts文件代码示例

    win7以上需要使用管理员权限操作. 复制代码 代码如下: # -*- coding: utf-8 -*-import osimport globimport shutil def format_file_list(files):        all_files_str = ""        for i in range(len(files)):                all_files_str +=  str(i)+":"+files[i]+"

  • PyQt实现界面翻转切换效果

    PyQt实现界面翻转切换效果是用qt的场景功能来实现的,用到了QGraphicsView,QGraphicsLinearLayout,QGraphicsWidget等有关qt场景的库.算是对qt场景的一个小小的尝试,涉及内容不深,程序效果并是随心所欲,需要去进一步的改善和提高.暂且先把代码贴在此处,供大家学习和指正. 工程包括四个类: 界面A,TestMainWindow,用来充当翻转效果的A面. 界面B,TestMainWindowTwo,用来充当翻转效果的B面. 绘图界面:TestGraph

  • Qt实现界面滑动切换效果的思路详解

    目录 一.Qt实现界面滑动切换效果 二. 设计思路 三.主要函数讲解 四.源代码解析 4.1 初始化界面 4.2 上一页滑动效果 4.3  下一页滑动效果 4.4 动画结束处理 五.源码地址 一.Qt实现界面滑动切换效果 效果如下图,滑动效果移动上下屏幕. 二. 设计思路 利用QStackWidget将页面存储起来,因为页面比较少,因此我直接将所有的页面存储在QStachWidget中,如果页面相对较多,可以使用使用使渲染的方式. 然后使用show函数同时展示两个页面的内容,这个很重要,如果使用

  • iOS高仿微信相册界面翻转过渡动画效果

    点开微信相册的时候,想要在相册图片界面跳转查看点赞和评论时,微信会采用界面翻转的过渡动画来跳转到评论界面,好像是在图片界面的背面一样,点击完成又会翻转回到图片界面,这不同于一般的导航界面滑动动画,觉得很有意思,于是自己学着做了一下,其实也很简单,下面是实现的类似的效果图: 在图片界面点击右下角的查看评论会翻转到评论界面,评论界面点击左上角的返回按钮会反方向翻转回图片界面,真正的实现方法,与传统的导航栏过渡其实只有一行代码的区别,让我们来看看整体的实现. 首先我们实现图片界面,这个界面上有黑色的背

  • Android实现闪屏及注册和登录界面之间的切换效果

    在没给大家介绍正文之前先给大家说下实现思路: 先分别实现闪屏.注册界面.登录界面的活动,再用Intent将相关的活动连接起来,实现不同活动之间的跳转.此次试验代码较多,我只列出主要代码,详细的代码可用底部的下载链接下载. 一.实验效果图: 二.主要代码: (1)WelcomeActivity.Java(这部分代码实现的是第一页的欢迎页面) package com.example.flashscreendemo; import android.app.Activity; import androi

  • fragment实现隐藏及界面切换效果

    在前文中的效果中(Android如何创建自定义ActionBar),点击屏幕下方的 TextView 以此来实现 5 种 fragment 界面的切换. 由于网络数据的加载存在于不同的界面之中,当快速的切换界面时,就会出现程序的出错.因为快速的切换时,当前界面的数据还在读取,就切换到下一个界面,下一个界面也开始加载数据,每次界面的切换都会加载数据.这样就会出错(在本文中,fragment 是使用 replace() 方法来加载界面的,).所以可以使每个 fragment 只加载一次来减少数据的加

  • Android自定义ViewPager实现个性化的图片切换效果

    第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主界面通通ViewPager,以及图片切换也抛弃了ImageSwitch之类的,开始让ViewPager来做.时间长了,ViewPager的切换效果觉得枯燥,形成了审美疲劳~~我们需要改变,今天教大家如何改变ViewPager切换时的效果,实现个性化的图片切换 看一下这样效果的图片切换: 是不是比传统的效果个性很多,嘿嘿~~其实很简单,学习完这篇文章,保证你可以自定义切换效果,做出各式各样的效果. 1.制作前的分析 观察下效果图,实际上

  • 实用的js 焦点图切换效果 结构行为相分离

    焦点图切换效果,对前端来说,恐怕再熟悉不过了,实现它的方法应该有多种,工作当中常用的一种,叙述如下: 如何让当前的数字导航与图片的显示同步? 这里有两个区域,图片切换区和数字导航区:分别对应着两个循环函数:plays(value)和setBg(value): 当图片循环切换到第2张时,此时数字导航的当前状态也变换到第2的位置,以此达到一种同步的效果,这里的关键就是给他们传递相同的参数value:而这个任务就交给了函数Mea(value): 图片应该是自动切换的,当循环显示到最后一种图片后,返回到

  • PageSwitch插件实现100种不同图片切换效果

    pageSwitch插件实现100种不同图片切换效果,此插件适应于全屏切换场景,并且实现了一百种切换效果,支持自定义切换页动画.效果如下图所示: 实现的代码. html代码: <div id="wrap"> <div id="imgs"> <div><img src="images/1.jpg" /></div> <div><img src="images/2

  • Android编程单击图片实现切换效果的方法

    本文实例讲述了Android编程单击图片实现切换效果的方法.分享给大家供大家参考,具体如下: 新建一个Android项目,命名为FrameLayout 此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件 1.布局主页面代码activity_main.xml↓ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

随机推荐