最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android使用Photoview實(shí)現(xiàn)圖片左右滑動(dòng)及縮放功能

 更新時(shí)間:2018年01月24日 13:45:00   作者:kuaizilanqiu  
這篇文章主要為大家詳細(xì)介紹了Android使用Photoview實(shí)現(xiàn)圖片左右滑動(dòng)及縮放功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

我想,不管是做什么樣的app。一般都會涉及到圖片點(diǎn)擊方法,和左右滑動(dòng)的功能吧。今天我就把自己的實(shí)現(xiàn)拿來分享一下。圖片的加載用到了picasso的圖片加載工具。

第一步:注入依賴

compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.github.chrisbanes:PhotoView:1.3.0'

第二步,我們就來實(shí)現(xiàn)這個(gè)功能。多張圖片左右滑動(dòng),這需要用到ViewPager這個(gè)類。
且看布局:

<uk.co.senab.photoview.sample.HackyViewPager
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/iv_photo"
 android:layout_width="match_parent"
 android:layout_height="match_parent"/>

這里用到了自定義的ViewPager

public class HackyViewPager extends ViewPager {

 public HackyViewPager(Context context) {
 super(context);
 }

 public HackyViewPager(Context context, AttributeSet attrs) {
 super(context, attrs);
 }

 @Override
 public boolean onInterceptTouchEvent(MotionEvent ev) {
 try {
  return super.onInterceptTouchEvent(ev);
 } catch (IllegalArgumentException e) {
  e.printStackTrace();
  return false;
 }
 }
}

這個(gè)是點(diǎn)擊之后跳轉(zhuǎn)到大圖的Activity,來顯示大圖。最重要也是很簡單的一步:

package uk.co.senab.photoview.sample;

import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;

import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;

import uk.co.senab.photoview.PhotoView;
import uk.co.senab.photoview.PhotoViewAttacher;

public class PicassoSampleActivity extends AppCompatActivity {

 ViewPager mViewPager;
 //String position;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_simple);
 mViewPager = (HackyViewPager) findViewById(R.id.iv_photo);
 setContentView(mViewPager);
 mViewPager.setAdapter(new SamplePagerAdapter());
 //position=getIntent().getStringExtra("position");

 //設(shè)置默認(rèn)的坐標(biāo),實(shí)際情況不要寫死,只需點(diǎn)擊哪張圖片的position,并傳過來接受就可以了,就默認(rèn)顯示點(diǎn)擊圖片的大圖。
 //mViewPager.setCurrentItem(Integer.parseInt(position));
 mViewPager.setCurrentItem(2);
 }

 static class SamplePagerAdapter extends PagerAdapter {
 //這里暫時(shí)寫死了,實(shí)際情況中要從服務(wù)端獲取圖片地址結(jié)合,傳過來
 private static final String[] url = {"/media/Bist9mvIYAAeAyQ.jpg", "/album/whcrop%3D657%2C370%3Bq%3D90/sign=2c994e578a82b9013df895711cfd9441/09fa513d269759eede0805bbb2fb43166d22df62.jpg",
  "/d/file/2013-11-14/13631d143b7076dc3257b1e516a2a9a2.jpg", "/f5/63/d/7.jpg"};

 @Override
 public int getCount() {
  return url.length;
 }

 @Override
 public View instantiateItem(ViewGroup container, int position) {
  PhotoView photoView = new PhotoView(container.getContext());
  final PhotoViewAttacher attacher = new PhotoViewAttacher(photoView);
  Picasso.with(container.getContext())
   .load(url[position])
   .into(photoView, new Callback() {
   @Override
   public void onSuccess() {
    attacher.update();
   }

   @Override
   public void onError() {

   }
   });

  container.addView(photoView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

  return photoView;
 }

 @Override
 public void destroyItem(ViewGroup container, int position, Object object) {
  container.removeView((View) object);
 }

 @Override
 public boolean isViewFromObject(View view, Object object) {
  return view == object;
 }

 }
}

有了這個(gè)工具我們很輕松就實(shí)現(xiàn)了圖片點(diǎn)擊放大,左右活動(dòng),縮放等功能。

相關(guān)文章

  • Android Studio配置內(nèi)嵌JDK的方法

    Android Studio配置內(nèi)嵌JDK的方法

    這篇文章主要介紹了Android Studio配置內(nèi)嵌JDK的方法,需要的朋友可以參考下
    2018-02-02
  • Android開發(fā)中ImageView的scaletype屬性用法分析

    Android開發(fā)中ImageView的scaletype屬性用法分析

    這篇文章主要介紹了Android開發(fā)中ImageView的scaletype屬性用法,分析了scaletype屬性參數(shù)的常見功能并結(jié)合實(shí)例形式給出了具體的使用方法,需要的朋友可以參考下
    2016-08-08
  • Android scrollToTop實(shí)現(xiàn)點(diǎn)擊回到頂部(兼容PullTorefreshScrollview)

    Android scrollToTop實(shí)現(xiàn)點(diǎn)擊回到頂部(兼容PullTorefreshScrollview)

    當(dāng)頁面滑動(dòng)到底部,出現(xiàn)回到頂部的按鈕相信對大家來說并不陌生,下面這篇文章主要介紹了關(guān)于Android scrollToTop實(shí)現(xiàn)點(diǎn)擊回到頂部,并兼容PullTorefreshScrollview的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒。
    2017-03-03
  • Android視圖綁定viewBinding的使用介紹

    Android視圖綁定viewBinding的使用介紹

    最近這段時(shí)間在學(xué)習(xí)Kotlin,突然發(fā)現(xiàn)谷歌已經(jīng)把kotlin-android-extensions插件廢棄,目前推薦使用ViewBinding來進(jìn)行替代,接下來通過本文給大家分享Android使用ViewBinding的詳細(xì)步驟,感興趣的朋友一起學(xué)習(xí)吧
    2023-01-01
  • 6步輕松實(shí)現(xiàn)兩個(gè)listView聯(lián)動(dòng)效果

    6步輕松實(shí)現(xiàn)兩個(gè)listView聯(lián)動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了教大家通過6步輕松實(shí)現(xiàn)兩個(gè)listView聯(lián)動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡單實(shí)例

    Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡單實(shí)例

    這篇文章主要介紹了Android 判斷當(dāng)前網(wǎng)絡(luò)是否可用簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Android仿新浪微博/QQ空間滑動(dòng)自動(dòng)播放視頻功能

    Android仿新浪微博/QQ空間滑動(dòng)自動(dòng)播放視頻功能

    相信用過新浪微博或者QQ空間的朋友都看到過滑動(dòng)自動(dòng)播放視頻的效果,那么這篇文章跟大家分享下如何利用Android實(shí)現(xiàn)這一個(gè)功能,有需要的朋友們可以參考借鑒。
    2016-09-09
  • Android同步異步任務(wù)與多線程及Handler消息處理機(jī)制基礎(chǔ)詳細(xì)講解

    Android同步異步任務(wù)與多線程及Handler消息處理機(jī)制基礎(chǔ)詳細(xì)講解

    這篇文章主要介紹了Android同步異步任務(wù)與多線程及Handler消息處理機(jī)制基礎(chǔ),handler其實(shí)就是主線程在起了一個(gè)子線程,子線程運(yùn)行并生成Message,Looper獲取message并傳遞給Handler,Handler逐個(gè)獲取子線程中的Message,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • Android AES加密工具類分享

    Android AES加密工具類分享

    這篇文章主要介紹了Android AES加密工具類分享,本文給出了實(shí)現(xiàn)代碼和使用例子,本文使用PKCS5Padding加密方式實(shí)現(xiàn),需要的朋友可以參考下
    2014-10-10
  • Android模仿美團(tuán)頂部的滑動(dòng)菜單實(shí)例代碼

    Android模仿美團(tuán)頂部的滑動(dòng)菜單實(shí)例代碼

    最近在工作遇到一個(gè)需要,要做一個(gè)滑動(dòng)菜單,實(shí)現(xiàn)的效果類似美團(tuán)頂部的滑動(dòng)菜單,所以下面這篇文章主要給大家介紹了關(guān)于Android如何模仿美團(tuán)頂部滑動(dòng)菜單的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08

最新評論

永善县| 将乐县| 波密县| 台北县| 临武县| 邮箱| 铁岭县| 泾阳县| 广德县| 荣成市| 舞钢市| 仁寿县| 洪江市| 佛坪县| 谢通门县| 新绛县| 南宁市| 阿拉善左旗| 寻甸| 南岸区| 启东市| 新野县| 陇南市| 古浪县| 茌平县| 桦川县| 武平县| 龙泉市| 白银市| 阳泉市| 绩溪县| 巴彦淖尔市| 九台市| 漯河市| 宁国市| 西藏| 花莲县| 靖边县| 江华| 宜黄县| 开鲁县|