日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android组件用法说明,Android第三方控件PhotoView使用方法详解

發布時間:2023/12/10 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android组件用法说明,Android第三方控件PhotoView使用方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android第三方控件PhotoView使用方法詳解

發布時間:2020-10-21 15:06:09

來源:腳本之家

閱讀:74

作者:zhaihaohao1

PhotoView的簡介:

這是一個圖片查看庫,實現圖片瀏覽功能,支持pinch(捏合)手勢或者點擊放大縮小。支持在ViewPager中翻頁瀏覽圖片。

PhotoView 是一款擴展自Android ImageView ,支持通過單點/多點觸摸來進行圖片縮放的智能控件。功能實用和強大。

PhotoView的功能:

圖片瀏覽查看

雙指縮放

單點觸摸縮放

圖片縮放模式設置

基本用法:導入jar包,布局XML里設置PhotoView

將ImageView傳入PhotoViewAttacher

代碼演示:

使用 PhotoView進行網絡圖片和本地圖片的加載,縮放和點擊事件處理

布局文件中:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity"

android:orientation="vertical"

>

android:id="@+id/iv_photo1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

/>

android:id="@+id/iv_photo2"

android:layout_width="match_parent"

android:layout_height="wrap_content"

/>

MainActivity中:

public class MainActivity extends Activity {

private PhotoView iv_photo1;

private PhotoView iv_photo2;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

iv_photo1 = (PhotoView) findViewById(R.id.iv_photo1);

iv_photo2 = (PhotoView) findViewById(R.id.iv_photo2);

// localImage();

netImage();

}

/**

* 加載本地圖片

*

*/

private void localImage() {

// 加載本地圖片,縮放處理

try {

// 圖片在asset目錄中

InputStream is = getAssets().open("photo2.jpg");

Bitmap bm = BitmapFactory.decodeStream(is);

iv_photo1.setImageBitmap(bm);

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 加載網絡圖片

*/

private void netImage() {

ImageLoader loader = ImageLoader.getInstance();

loader.displayImage("https://www.baidu.com/img/bdlogo.png", iv_photo2);

iv_photo2.setOnPhotoTapListener(new OnPhotoTapListener() {

@Override

public void onPhotoTap(View arg0, float arg1, float arg2) {

Toast.makeText(MainActivity.this, "圖片被點擊了", 10).show();

}

});

}

}

BaseApplication中:

/**

* 加載網絡圖片時,需要對ImageLoader進行全局配置

*

*/

public class BaseApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

initImagloader(getApplicationContext());

}

private void initImagloader(Context context) {

File cacheDir = StorageUtils.getOwnCacheDirectory(context,

"photoview/Cache");// 獲取到緩存的目錄地址

// 創建配置ImageLoader(所有的選項都是可選的,只使用那些你真的想定制),這個可以設定在APPLACATION里面,設置為全局的配置參數

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(

context)

// 線程池內加載的數量

.threadPoolSize(3).threadPriority(Thread.NORM_PRIORITY - 2)

.memoryCache(new WeakMemoryCache())

.denyCacheImageMultipleSizesInMemory()

.discCacheFileNameGenerator(new Md5FileNameGenerator())

// 將保存的時候的URI名稱用MD5 加密

.tasksProcessingOrder(QueueProcessingType.LIFO)

.discCache(new UnlimitedDiscCache(cacheDir))// 自定義緩存路徑

// .defaultDisplayImageOptions(DisplayImageOptions.createSimple())

.writeDebugLogs() // Remove for release app

.build();

// Initialize ImageLoader with configuration.

ImageLoader.getInstance().init(config);// 全局初始化此配置

}

}

主清單配置文件中:

android:name="com.zhhandroid.BaseApplication"

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".MainActivity"

android:label="@string/app_name" >

需要導入的jar包:

photoview-library-1.2.2.jar

universal-image-loader-1.9.2_sources.jar

效果展示:

jar包及源碼:下載

這個庫里面上面庫里面有bug,參考這個庫

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的android组件用法说明,Android第三方控件PhotoView使用方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。