精华内容
下载资源
问答
  • 图片查看器,仿微信朋友圈图片查看效果,支持图片手势缩放、拖拽等操作,全新2.0版本,由1.0版本的Activity模式实现改为自定义View的模式显示,自定义图片加载方式,更加灵活,易于扩展,最低支持版本为Android 3.0...

    ImageViewer

    关于

    图片预览器,支持图片手势缩放、拖拽等操作,自定义View的模式显示,自定义图片加载方式,更加灵活,易于扩展,同时也适用于RecyclerView、ListView的横向和纵向列表模式,最低支持版本为Android 3.0及以上…

    功能

    • 图片的基本缩放、滑动
    • 微信朋友圈图片放大预览
    • 微信朋友圈图片拖拽效果
    • 今日头条图片拖拽效果
    • 自定义图片加加载
    • 图片加载进度条
    • 可自定义图片索引与图片加载进度UI

    传送门

    推荐

    • AutoGridView 宫格控件,QQ空间九宫格、普通宫格模式、点击添加照片…

    项目演示

    简单示例仿朋友圈效果横向列表
    纵向列表

    添加依赖

       Step 1:
    
       allprojects {
           repositories {
               ...
               // 如果添加依赖时,报找不到项目时(则项目正在审核),可以添加此句maven地址,如果找到项目,可不必添加
               maven { url "https://dl.bintray.com/albertlii/android-maven/" }
           }
        }
        
        
       Step 2:
       
       dependencies {
          compile 'indi.liyi.view:image-viewer:3.0.1'
       }
    
    • Maven
       <dependency>
          <groupId>indi.liyi.view</groupId>
          <artifactId>image-viewer</artifactId>
          <version>3.0.1</version>
          <type>pom</type>
       </dependency>
    

    使用方法

    XML 中添加 ImageViewer

      <indi.liyi.viewer.ImageViewer
            android:id="@+id/imageViewer"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    

    代码中设置 ImageViewer

    一共提供两种配置ImageViewer的方法:

    • 方法一:
    imageViewer.overlayStatusBar(false) // ImageViewer 是否会占据 StatusBar 的空间
               .imageData(list) // 图片数据
               .bindViewGroup(gridview) // 目标 viewGroup,例如类似朋友圈中的九宫格控件
               .imageLoader(new PhotoLoader()) // 设置图片加载方式
               .playEnterAnim(true) // 是否开启进场动画,默认为true
               .playExitAnim(true) // 是否开启退场动画,默认为true
               .duration(true) // 设置进退场动画时间,默认300
               .showIndex(true) // 是否显示图片索引,默认为true
               .loadIndexUI(indexUI) // 自定义索引样式,内置默认样式
               .loadProgressUI(progressUI) // 自定义图片加载进度样式,内置默认样式
               .watch(position); // 开启浏览
    

    此方法是用imageData()配合bindViewGroup()方法,来在内部构建自动构建item的信息模型ViewData,适用于目标ViewGroup类似于朋友圈九宫格控件这类场景,目标ViewGroup如果是ListView这种可重复利用item的控件,则不可用。

    • 方法二:
       imageViewer.overlayStatusBar(false) // ImageViewer 是否会占据 StatusBar 的空间
                  .viewData(vdList) // 数据源
                  .imageLoader(new PhotoLoader()) // 设置图片加载方式
                  .playEnterAnim(true) // 是否开启进场动画,默认为true
                  .playExitAnim(true) // 是否开启退场动画,默认为true
                  .duration(true) // 设置进退场动画时间,默认300
                  .showIndex(true) // 是否显示图片索引,默认为true
                  .loadIndexUI(indexUI) // 自定义索引样式,内置默认样式
                  .loadProgressUI(progressUI) // 自定义图片加载进度样式,内置默认样式
                  .watch(position);
    

    此方法直接使用viewData()设置框架所需要的数据源

    超巨图解决方案

    1. 因为可以自定义图片加载方法,在加载图片前可以先压缩图片

    2. 项目内部目前使用的图片缩放控件为PhotoView,可以将PhotoView用以下控件代替:

    github传送门

    https://github.com/albert-lii/ImageViewer

    展开全文
  • 火狐浏览使用marquee标签时候,存在兼容性问题,onMouseOut 和 onMouseOver,不能控制滚动的启停,在这里使用js进行控制 ...不用marquee而使用JS控制图片纵向滚动,解决火狐不兼容

    火狐浏览使用marquee标签时候,存在兼容性问题,onMouseOut 和 onMouseOver,不能控制滚动的启停,在这里使用js进行控制

    纵向滚动源码:

      

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>不用marquee而使用JS控制图片纵向滚动,解决火狐不兼容</title>
    
    </head>
    <body>
    <div id="demotop" style="OVERFLOW: hidden; height: 700px; width:200px; color: red">
      <ul style="list-style-type: none;">
        
          
            <li id="demo1top">
             <ul style="list-style-type: none;">
                
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
                  <li><img src="images/001.jpg" width="100" height="89" /></li>
             
              </ul>
            </li>
            <li id="demo2top"></li>
              
    
      </ul>
    </div>
    <script type="text/javascript">
    
    var speed=20//越大速度越慢,demo2.offsetWidth=demo1.offsetWidth=固定值
    demo2top.innerHTML=demo1top.innerHTML
    function Marquee(){
    if(demo2top.offsetHeight-demotop.scrollTop<=0)
    demotop.scrollTop-=demo1top.offsetHeight
    else{
    demotop.scrollTop++
    }
    }
    var MyMartop=setInterval(Marquee,speed)
    demotop.οnmοuseοver=function() {clearInterval(MyMartop)}
    demotop.οnmοuseοut=function() {MyMartop=setInterval(Marquee,speed)}
    </script> 
    </body>
    </html>
    

    横向滚动源码:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>不用marquee而使用JS控制图片横向滚动</title>
    
    </head>
    <body>
    <div id="demoleft" style="OVERFLOW: hidden; WIDTH: 700px; COLOR: red">
      <table>
        
          <tr>
            <td id="demo1left">
             <table>
                <tr>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                  <td><img src="images/001.jpg" width="100" height="89" /></td>
                 </tr>
              </table>
            </td>
            <td id="demo2left"></td>
          </tr>     
    
      </table>
    </div>
    <script type="text/javascript">
    
    var speed=20//越大速度越慢,demo2.offsetWidth=demo1.offsetWidth=固定值
    demo2left.innerHTML=demo1left.innerHTML
    function Marquee(){
    if(demo2left.offsetWidth-demoleft.scrollLeft<=0)
    demoleft.scrollLeft-=demo1left.offsetWidth
    else{
    demoleft.scrollLeft++
    }
    }
    var MyMarleft=setInterval(Marquee,speed)
    demoleft.οnmοuseοver=function() {clearInterval(MyMarleft)}
    demoleft.οnmοuseοut=function() {MyMarleft=setInterval(Marquee,speed)}
    </script> 
    </body>
    </html>


    展开全文
  • 一窗体设计 浏览图片的程序是这样搭建起来的 在窗体中放置一个Panel组件在Panel组件中放置一个PictureBox我给它取名ImageBox以下就用ImageBox这个名字代替这个控件了组件一个横向滚动条hScorllBar组件一个纵向滚动条...
  • 图片浏览器,支持图片手势缩放、拖拽等操作,自定义View的模式显示,自定义图片加载方式,可自定义索引UI、ProgressView,更加灵活,易于扩展,同时也适用于RecyclerView、ListView的横向和纵向列表模式,最低支持...
  • tkinter实现类ppt的图片浏览组件

    引言

    这里指的类ppt是指组件主体由图片选择框,原始图片显示框组成,木有自己的编辑功能。

    框架

    类似PPT,左边是多个图片缩略图的选择框,右边大半部分是原始图片的显示区域。因为原始图片可能会超过显示框,所以显示框必须配备横向和纵向两个滚动条。

    那么通过构思得到的组件框架如下:

    class ImageView(LabelFrame):
        """一个可以查看多个图片的组件,看起来像ppt"""
    
        def __init__(self,master,**kw):
            LabelFrame.__init__(self,master,**kw)
            self.imgtext=scrolledtext.ScrolledText(self,state='disabled',cursor='arrow')#缩小照片显示区
            self.imgtext.place(relx=0,rely=0,relwidth=0.21,relheight=1)
            self.imgtext.vbar['width']=10
            self.imgframe=Frame(self,bg='white',relief='flat')
            self.imgback=Text(self.imgframe,bg='white',relief='flat',cursor='arrow',state='disabled')#正常照片显示区
            self.vbar=Scrollbar(self.imgframe,orient='vertical',width=9)
            self.vbar.pack(side='right',fill='y')
            self.vbar.config(command=self.imgback.yview)
            self.hbar=Scrollbar(self.imgframe,orient='horizontal',width=9)
            self.hbar.pack(side='bottom',fill='x')
            self.hbar.config(command=self.imgback.xview)
            self.imgback.pack(side='right',fill='both',expand=True)
            self.imgback.config(xscrollcommand=self.hbar.set, yscrollcommand=self.vbar.set)
            self.imgframe.place(relx=0.21,rely=0,relwidth=0.79,relheight=1)
            self.images={}#存放缩略图与原图信息

    在 scrolledtext.ScrolledText 中,可以直接更改滚动条颜色。在这里没有使用颜色参数。

    添加图片

    为了使组件加载时不用耗费过多时间,设立了专门的函数加入图片并进行显示操作。在添加图片的函数中,图片路径将被作为参数使用。

    添加图片分为三个步骤。第一步,先对图片进行尺寸处理,使其能够完整显示在选择框内;第二步,生成与缩略图对应的图片信息,在稍后使用;第三步,显示缩略图,绑定单击信息。

    当鼠标经过选项框的图片时,label最好还能够显示橙色(选定颜色)。

    方便起见,该组件不对gif进行特殊处理。

    #添加图片与生成相对应的图片信息
    def append_image(self,img:str):
        path=img
        img=Image.open(img)
        width,height=img.size
        self.update()
        w=self.imgtext.winfo_width()
        h=w*2//3
        eimg=ImageTk.PhotoImage(img)
        img.thumbnail((w,h),Image.ANTIALIAS)
        eimgtk=ImageTk.PhotoImage(img)
        #键:小图片,值:大图片
        self.images[eimgtk]=eimg
        self._append_imagelabel(eimgtk,path)#显示图片
    
    #显示图片并绑定
    def _append_imagelabel(self,eimgtk,path):
        #:eimgtk  经过ImageTk.Photoimage处理后的文件。同时是在字典中的缩小图片,键
        #通过label添加图片,让其能够绑定事件
        path=re.findall('.*\\\\(.*)',path)[0]
        self.imgtext['state']='normal'
        imglabel=Label(self.imgtext,relief='groove',image=eimgtk,text=path,compound='bottom')
        imglabel.bind('<Enter>',lambda event:imglabel.config(bg='#EED546'))#显示提醒与离开
        imglabel.bind('<Leave>',lambda event:imglabel.config(bg='#f0f0f0'))
        imglabel.bind('<Button-1>',lambda event:self.change_img(event,eimgtk))
        self.imgtext.window_create('end',window=imglabel)
        self.imgtext.insert('end','\n\n')
        self.imgtext.update()
        self.imgtext['state']='disabled'

    显示图片

    在图片label被单击后,在原图显示框中显示被选中缩略图的原图

    def change_img(self,event,eimgtk):#来自 _append_imagelabel 的单击绑定
        #:eimgtk  缩略图
        self.imgback['state']='normal'
        self.imgback.delete(1.0,'end')
        self.imgback.image_create('end',image=self.images[eimgtk])
        self.imgback['state']='disabled'

    完整代码

    class ImageView(LabelFrame):
        """一个可以查看多个图片的组件,看起来像ppt"""
    
        def __init__(self,master,**kw):
            LabelFrame.__init__(self,master,**kw)
            self.imgtext=scrolledtext.ScrolledText(self,state='disabled',cursor='arrow')#缩小照片显示区
            self.imgtext.place(relx=0,rely=0,relwidth=0.21,relheight=1)
            self.imgtext.vbar['width']=10
            self.imgframe=Frame(self,bg='white',relief='flat')
            self.imgback=Text(self.imgframe,bg='white',relief='flat',cursor='arrow',state='disabled')#正常照片显示区
            self.vbar=Scrollbar(self.imgframe,orient='vertical',width=9)
            self.vbar.pack(side='right',fill='y')
            self.vbar.config(command=self.imgback.yview)
            self.hbar=Scrollbar(self.imgframe,orient='horizontal',width=9)
            self.hbar.pack(side='bottom',fill='x')
            self.hbar.config(command=self.imgback.xview)
            self.imgback.pack(side='right',fill='both',expand=True)
            self.imgback.config(xscrollcommand=self.hbar.set, yscrollcommand=self.vbar.set)
            self.imgframe.place(relx=0.21,rely=0,relwidth=0.79,relheight=1)
            self.images={}#存放缩略图与原图信息
        
        def change_img(self,event,eimgtk):
            #:eimgtk  缩略图
            self.imgback['state']='normal'
            self.imgback.delete(1.0,'end')
            self.imgback.image_create('end',image=self.images[eimgtk])
            self.imgback['state']='disabled'
        
        def _append_imagelabel(self,eimgtk,path):
            #:eimgtk  经过ImageTk.Photoimage处理后的文件。同时是在字典中的缩小图片,键
            #通过label添加图片,让其能够绑定事件
            path=re.findall('.*\\\\(.*)',path)[0]
            self.imgtext['state']='normal'
            imglabel=Label(self.imgtext,relief='groove',image=eimgtk,text=path,compound='bottom')
            imglabel.bind('<Enter>',lambda event:imglabel.config(bg='#EED546'))#显示提醒与离开
            imglabel.bind('<Leave>',lambda event:imglabel.config(bg='#f0f0f0'))
            imglabel.bind('<Button-1>',lambda event:self.change_img(event,eimgtk))
            self.imgtext.window_create('end',window=imglabel)
            self.imgtext.insert('end','\n\n')
            self.imgtext.update()
            self.imgtext['state']='disabled'
    
        def append_image(self,img:str):
            path=img
            img=Image.open(img)
            width,height=img.size
            self.update()
            w=self.imgtext.winfo_width()
            h=w*2//3
            eimg=ImageTk.PhotoImage(img)
            img.thumbnail((w,h),Image.ANTIALIAS)
            eimgtk=ImageTk.PhotoImage(img)
            #键:小图片,值:大图片
            self.images[eimgtk]=eimg
            self._append_imagelabel(eimgtk,path)

    效果

    在这里插入图片描述
    Tin知识库

    结语

    虽然tkinter提供的原始组件比较少,但是通过组合和添加新的功能函数,同样可以让GUI界面变得丰富。

    ☀tkinter创新☀

    展开全文
  • ImageViewer关于图片浏览器,支持图片手势缩放、拖拽等操作,自定义View的模式显示,自定义图片加载方式,可自定义索引UI与加载进度UI,更加灵活,易于扩展,同时也适用于RecyclerView、ListView的横向和纵向列表...

    ImageViewer

    关于

    图片浏览器,支持图片手势缩放、拖拽等操作,自定义View的模式显示,自定义图片加载方式,可自定义索引UI与加载进度UI,更加灵活,易于扩展,同时也适用于RecyclerView、ListView的横向和纵向列表模式,最低支持版本为Android 3.0及以上...

    项目演示

    b324b0d47a4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    简单示例

    b324b0d47a4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    仿朋友圈效果

    b324b0d47a4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    横向列表

    b324b0d47a4d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    竖向列表

    功能

    图片的基本缩放、滑动

    微信朋友圈图片放大预览

    微信朋友圈图片拖拽效果

    今日头条图片拖拽效果

    自定义图片加加载

    图片加载进度条

    可自定义图片索引与图片加载进度UI

    传送门

    推荐

    AutoGridView 宫格控件,QQ空间九宫格、普通宫格模式、点击添加照片...

    自定义属性

    属性名

    描述

    ivr_showIndex

    是否显示图片位置

    ivr_playEnterAnim

    是否开启进场动画

    ivr_playExitAnim

    是否开启退场动画

    ivr_duration

    进场与退场动画的执行时间

    ivr_draggable

    是否允许图片拖拽

    ivr_dragMode

    拖拽模式(simple:今日头条效果

    agile:微信朋友圈效果)

    事件监听器

    方法名

    描述

    setOnItemClickListener(OnItemClickListener listener)

    item 的单击事件

    setOnItemLongListener(OnItemLongPressListener listener)

    item 的长按事件

    setOnItemChangedListener(OnItemChangedListener listener)

    item 的切换事件

    setOnDragStatusListener(OnDragStatusListener listener)

    监听图片拖拽状态事件

    setOnBrowseStatusListener(OnBrowseStatusListener listener)

    监听图片浏览器状态事件

    自定义UI

    自定义索引UI

    框架中内置默认索引视图DefaultIndexUI,如要替换索引样式,可继承抽象类IndexUI,并在使用watch(...)方法前,调用下列方法加载自定义的indexUI

    loadIndexUI(@NonNull IndexUI indexUI)

    自定义加载进度UI

    框架中内置默认加载视图DefaultProgressUI,如要替换加载样式,可继承抽象类ProgressUI,并在使用watch(...)方法前,调用下列方法加载自定义的progressUI

    loadProgressUI(@NonNull ProgressUI progressUI)

    添加依赖

    Gradle

    Step 1:

    allprojects {

    repositories {

    ...

    // 如果添加依赖时,报找不到项目时(则项目正在审核),可以添加此句maven地址,如果找到项目,可不必添加

    maven { url "https://dl.bintray.com/albertlii/android-maven/" }

    }

    }

    Step 2:

    dependencies {

    compile 'indi.liyi.view:image-viewer:3.0.1'

    }

    Maven

    indi.liyi.view

    image-viewer

    3.0.1

    pom

    使用方法

    XML 中添加 ImageViewer

    android:id="@+id/imageViewer"

    android:layout_width="match_parent"

    android:layout_height="match_parent" />

    代码中设置 ImageViewer

    一共提供两种配置ImageViewer的方法:

    方法一:

    imageViewer.overlayStatusBar(false) // ImageViewer 是否会占据 StatusBar 的空间

    .imageData(list) // 图片数据

    .bindViewGroup(gridview) // 目标 viewGroup,例如类似朋友圈中的九宫格控件

    .imageLoader(new PhotoLoader()) // 设置图片加载方式

    .playEnterAnim(true) // 是否开启进场动画,默认为true

    .playExitAnim(true) // 是否开启退场动画,默认为true

    .duration(true) // 设置进退场动画时间,默认300

    .showIndex(true) // 是否显示图片索引,默认为true

    .loadIndexUI(indexUI) // 自定义索引样式,内置默认样式

    .loadProgressUI(progressUI) // 自定义图片加载进度样式,内置默认样式

    .watch(position); // 开启浏览

    此方法是用imageData()配合bindViewGroup()方法,来在内部构建自动构建item的信息模型ViewData,适用于目标ViewGroup类似于朋友圈九宫格控件这类场景,目标ViewGroup如果是ListView这种可重复利用item的控件,则不可用。

    方法二:

    imageViewer.overlayStatusBar(false) // ImageViewer 是否会占据 StatusBar 的空间

    .viewData(vdList) // 数据源

    .imageLoader(new PhotoLoader()) // 设置图片加载方式

    .playEnterAnim(true) // 是否开启进场动画,默认为true

    .playExitAnim(true) // 是否开启退场动画,默认为true

    .duration(true) // 设置进退场动画时间,默认300

    .showIndex(true) // 是否显示图片索引,默认为true

    .loadIndexUI(indexUI) // 自定义索引样式,内置默认样式

    .loadProgressUI(progressUI) // 自定义图片加载进度样式,内置默认样式

    .watch(position);

    此方法直接使用viewData()设置框架所需要的数据源

    超巨图解决方案

    因为可以自定义图片加载方法,在加载图片前可以先压缩图片

    项目内部目前使用的图片缩放控件为PhotoView,可以将PhotoView用以下控件代替:

    github传送门

    自定义属性 ↩

    事件监听器 ↩

    事件监听器 ↩

    添加依赖 ↩

    使用方法 ↩

    超巨图解决方案 ↩

    展开全文
  • 下午接到个任务,好信云会议在IM中浏览超大全景图片,横屏后浏览图片放大,图片严重失真问题。 效果图片 思路1 以为是加载的缩略图,屡一下代码, GlideApp.with(ImageFragment.this).load(src).thumbnail...
  • 原创企业级控件库之图片浏览控件

    千次阅读 2011-01-05 21:59:00
    我想大家用过或听说过ACDSee 对于图片浏览的强大功能,我接下来介绍的控件与ACDSee相比,可谓是天壤之别,虽没有其强大的功能,但用在一些常用的软件上,提供一些常用的基本功能还是可以的。同时,我只提供一个模子...
  • C#做的浏览图片的程序

    千次阅读 2009-12-06 04:27:00
    最近在做一个关于图片标记的一个程序,其中里面就涉及到浏览图片的问题。浏览图片需要完成图片的移动、图片的缩放等操作。源代码先贴到后面吧,还有点地方需要修改。 一、窗体设计: 浏览图片的程序是这样搭建...
  • * 图片浏览、缩放、拖动、自动居中 */ public class Touch extends Activity implements OnTouchListener { Matrix matrix = new Matrix(); Matrix savedMatrix = new Matrix(); DisplayMetrics d
  • 众所周知,PowerBuilder在开发数据库方面一向以方便、快捷而且功能强大而著称,但是它在处理多媒体方面的却有着令开发者遗憾的地方,比如大图片浏览,由于图片框控件没有滚动条,用户无法就看到图片的其他地方,...
  • 一个文件夹下有n个子文件夹,子文件夹中为png图片。 单独选择每个子文件夹 选择输出的路径,输出的文夹名称为输入的子文件夹名称。子文件夹名字相同时,保存时变为名称+数字。 二、安装与运行 提供Ubuntu和Windows...
  • Gallery代码分析及纵向Gallery实现方法

    千次阅读 2014-08-19 18:32:39
    近期在做项目中需要浏览电影海报,图片浏览使用Android Gallery控件可以很方便实现的。但Android 原生Gallery是不支持纵向翻动。网络上也没找到好控件来实现这样的效果,只好自己把Gallery 的代码拔出来读一编,搞懂...
  • 最近项目开发中遇到了点击缩略图查看大图的问题,自己开发实在费时费力,在... * 图片浏览、缩放、拖动、自动居中 */ public class Touch extends Activity implements OnTouchListener { Matrix matrix = new Mat
  • 大家可以先去了解下Android Matrix基础+... * 图片浏览、缩放、拖动、自动居中 */ public class Touch extends Activity implements OnTouchListener { Matrix matrix = new Matrix(); Matrix savedMatrix = new
  • 这就造成了数据的来源往往是多方面的,我们必须要把数据合并到一个文件中才能进行分析,本文我将在IBM SPSS Statistics中教大家两种数据合并方式:数据的纵向合并和数据的横向合并。 一、数据的纵向合并 官方对于...
  • 易语言多彩浏览框模块源码,多彩浏览框模块,取字体宽度,取字体高度,创建,宽度,高度,左边,顶边,添加行,添加标签,添加透明标签,添加超链接,添加图片框,添加Flash,添加自定义控件,取行数,清空,改变浏览框尺寸,销毁,置...
  • * 图片浏览、缩放、拖动、自动居中 */ public class ImageTouch extends Activity implements OnTouchListener { Matrix matrix = new Matrix(); Matrix savedMatrix = new Matrix(); ...
  • HTML5图片处理(请使用谷歌浏览器)

    千次阅读 多人点赞 2011-07-21 14:56:46
     IMG_SRC = '../images/青青.jpg' //此处请修改图片的路径  function Show() {  var ctx = document.getElementById("canvas1").getContext("2d");  img = new Image();  img.onload = function () {  ctx....
  • 然而,正如一些电影和电视节目所显示的,以及Reddit和其他地方的大量计算设置的图片,你不必坚持通常的横向方向,并不是所有拥有多个显示器的人都将它们同时保持水平,有些人会将副屏改为纵向。 立式显示器有什么...
  • GIMP 2.10.24 图片切片

    2021-04-30 13:38:56
    而我们为了提高页面的浏览体验,让用户觉得加载得较快,就得对图片进行分片,也就是把一个长图切成多个小图。这样一个小图一个小图地加载出来,用户也能接受。 GIMP可以通过添加参考线然后进行分割。但是如果我们的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,106
精华内容 3,242
关键字:

纵向浏览图片