戰(zhàn)指南)
如何用最少的代碼啟動圖片畫廊ImageGallery Intent傳圖實(shí)戰(zhàn)指南【免費(fèi)下載鏈接】ImageGalleryA gallery used to host an array of images項(xiàng)目地址: https://gitcode.com/gh_mirrors/im/ImageGallery想在 Android 應(yīng)用里展示一組圖片不用自己寫 RecyclerView 網(wǎng)格也不用造全屏輪播的輪子。ImageGallery是一個(gè)輕量級 Android 圖片畫廊庫——你只需幾行 Intent 傳圖代碼就能啟動一個(gè)縮略圖網(wǎng)格 全屏放大瀏覽的完整畫廊頁面。本文手把手帶你用最少代碼完成集成。? ImageGallery 能做什么在動手之前先了解這個(gè)畫廊庫提供的能力網(wǎng)格縮略圖列表豎屏 3 列、橫屏 4 列自適應(yīng)布局全屏瀏覽點(diǎn)擊縮略圖進(jìn)入全屏頁支持左右滑動切換、頂部顯示頁碼如 9/30雙指縮放全屏圖片支持 pinch-to-zoom 手勢放大細(xì)節(jié)Palette 動態(tài)背景色根據(jù)圖片主色調(diào)自動為全屏頁設(shè)置背景色上面就是傳入一組 Unsplash 圖片后自動生成的畫廊網(wǎng)格頁頂部工具欄標(biāo)題也來自你傳入的標(biāo)題參數(shù)。 快速集成獲取 ImageGallery 庫先克隆倉庫到本地查看示例工程git clone https://gitcode.com/gh_mirrors/im/ImageGallery倉庫分為兩部分library/是畫廊核心庫sample/是可直接運(yùn)行的示例工程。在build.gradle中添加依賴compile com.github.lawloretienne:imagegallery:0.1.0如果你本地沒有網(wǎng)絡(luò)環(huán)境也可以直接把library/模塊作為本地模塊引入項(xiàng)目。 核心實(shí)戰(zhàn)7 行 Intent 代碼啟動畫廊這是全文最關(guān)鍵的步驟。在任意 Activity 中用下面的代碼就能啟動畫廊Intent intent new Intent(MainActivity.this, ImageGalleryActivity.class); Bundle bundle new Bundle(); bundle.putStringArrayList(ImageGalleryActivity.KEY_IMAGES, new ArrayList(Arrays.asList(imageUrlList))); bundle.putString(ImageGalleryActivity.KEY_TITLE, Unsplash Images); intent.putExtras(bundle); startActivity(intent);只有 2 個(gè)傳圖參數(shù)含義一目了然常量類型作用KEY_IMAGESArrayListString圖片 URL 列表決定網(wǎng)格內(nèi)容KEY_TITLEString頂部工具欄顯示的標(biāo)題這兩個(gè)常量定義在 ImageGalleryActivity.java 中畫廊頁啟動后會自動從 Intent 的 Bundle 里取出它們并渲染網(wǎng)格。 注意圖片加載需要你提供實(shí)現(xiàn)。完整可運(yùn)行的寫法見示例工程 MainActivity.java它用 Picasso 加載圖片并實(shí)現(xiàn)了ImageThumbnailLoader縮略圖和FullScreenImageLoader全屏圖兩個(gè)接口。 全屏傳圖與頁碼自動完成零額外代碼點(diǎn)擊縮略圖后庫會自動把整組圖片 點(diǎn)擊位置傳給全屏頁源碼在 FullScreenImageGalleryActivity.javaKEY_IMAGES完整圖片列表KEY_POSITION當(dāng)前點(diǎn)擊圖片的下標(biāo)所以你不需要為全屏頁寫任何 Intent 代碼滑動切換、頁碼顯示、背景色提取全部開箱即用。右側(cè)上下兩塊紅色區(qū)域正是 Palette 提取的圖片主色調(diào)背景全屏滑動時(shí)會自動切換。?? 別忘了在 AndroidManifest 中聲明 Activity如果你要直接使用ImageGalleryActivity必須在你自己的AndroidManifest.xml中聲明它庫的清單里只預(yù)聲明了全屏頁可參考 AndroidManifest.xmlactivity android:namecom.etiennelawlor.imagegallery.library.activities.ImageGalleryActivity android:configChangesorientation|keyboardHidden|screenSize android:label android:themestyle/ImageGalleryTheme /configChanges一行很關(guān)鍵——它保證旋轉(zhuǎn)屏幕時(shí)頁面不重建網(wǎng)格能自適應(yīng)切換 3 列/4 列。 進(jìn)階用 Fragment 嵌入自己的頁面不想跳轉(zhuǎn)獨(dú)立頁面可以把畫廊作為一個(gè) Fragment 嵌進(jìn)自己的 Activity。ImageGalleryFragment提供newInstance(Bundle)工廠方法傳圖方式和 Activity 完全一致Bundle bundle new Bundle(); bundle.putStringArrayList(ImageGalleryFragment.KEY_IMAGES, imageUrlList); bundle.putString(ImageGalleryFragment.KEY_TITLE, My Gallery); ImageGalleryFragment fragment ImageGalleryFragment.newInstance(bundle);注意 Fragment 版本同樣需要你注冊縮略圖加載器ImageGalleryFragment.setImageThumbnailLoader(this);完整演示見示例工程的 HostImageGalleryActivity.java。 關(guān)鍵文件索引文件說明MainActivity.java完整傳圖 圖片加載示例ImageGalleryActivity.java網(wǎng)格畫廊頁定義 KEY_IMAGES / KEY_TITLEFullScreenImageGalleryActivity.java全屏瀏覽頁定義 KEY_POSITIONImageGalleryFragment.javaFragment 嵌入方式arrays.xml示例圖片 URL 數(shù)組? 小結(jié)回顧一下最少代碼路徑聲明 Activity → 傳 KEY_IMAGES 和 KEY_TITLE → startActivity三步即可得到一個(gè)帶全屏縮放和調(diào)色板背景色的圖片畫廊。整個(gè)流程你只需寫不到 10 行業(yè)務(wù)代碼剩下的網(wǎng)格、輪播、縮放交給 ImageGallery 處理即可?!久赓M(fèi)下載鏈接】ImageGalleryA gallery used to host an array of images項(xiàng)目地址: https://gitcode.com/gh_mirrors/im/ImageGallery創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考