1. 程式人生 > >Android RecycerView 中根據圖片大小自適應控制元件大小的實現

Android RecycerView 中根據圖片大小自適應控制元件大小的實現

問題

recyclerView中 item有ImageView,ImageView大小根據圖片大小而改變大小

解決方案

GlideApp.with(mContext)
                        .asBitmap()
                        .load(item.getContent())
                        .error(R.drawable.default_bg)
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                        .into(new SimpleTarget<Bitmap>() {
                            @Override
                            public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                                int widht = resource.getWidth();
                                int height = resource.getHeight();
                                if(widht>pic_max_width){
                                    float multiple = ((float) widht)/pic_max_width+0.5f;
                                    widht = (int) (widht/multiple);
                                    height = (int) (height/multiple);
                                }
                                LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) img.getLayoutParams();
                                params.width = widht;
                                params.height = height;
                                img.setLayoutParams(params);
                                img.setImageBitmap(resource);
                            }
                        });

pic_max_width:

pic_max_width = DisplayUtils.getScreenWidth(this)-DisplayUtils.dip2px(this,50);

問題解決 50是ImageView的左右margin

相關推薦

Android RecycerView 根據圖片大小適應控制元件大小實現

問題 recyclerView中 item有ImageView,ImageView大小根據圖片大小而改變大小 解決方案 GlideApp.with(mContext)

viewPager+photoView實現圖片輪播和手勢縮放功能 支援手勢縮放的imageView 如何實現相簿左右滑動和手勢縮放 如何讓圖片適應控制元件大小 photoView如何使用(上)

import uk.co.senab.photoview.IPhotoView; import uk.co.senab.photoview.PhotoViewAttacher; import uk.co.senab.photoview.PhotoViewAttacher.OnMatrixChangedList

Android進階UI之ImageView設定長度高度為wrap_content時高度根據圖片比例適應

1 示例 <ImageView android:id="@+id/img_1" android:layout_width="fill_parent" android:layout_height="wrap_cont

適應控制元件寬高大小載入bitmap圖片的友好方式

自動計算BitmapFactory.Options 的inSampleSize 引數。程式碼如下: public static Bitmap decodeSampledBitmapFromResource(Resources res,int resId,

仿小紅書根據圖片高度適應viewpager高度輪播圖

之前不瞭解小紅書,直到有一天經理說看見一個他想要的效果,跟小紅書一樣,趕緊下載小紅書來看看,寫起來賊費勁的一個自適應viewpager高度的輪播圖。 效果圖: 直接粘程式碼了:main_activity <?xml version="1.0" encodi

Android仿微信朋友圈九宮格圖片展示定義控制元件,支援縮放動畫~

一直對微信朋友圈九宮格圖片顯示控制元件比較好奇,找到一篇介紹相關騷操作的部落格 部落格雖好但是不夠完美,缺少點選圖片預覽頁面和縮放動畫,作為一個不斷追求完美主義的人,我想把這個控制元件結合到專案中而不是單純作為一個控制元件。 下面是我的實現效果圖: (

【我的Android進階之旅】定義控制元件之使用ViewPager實現可以預覽的畫廊效果,並且定義畫面切換的動畫效果的切換時間

我們來看下效果 在這裡,我們實現的是,一個ViewPager來顯示圖片列表。這裡一個頁面,ViewPage展示了前後的預覽,我們讓預覽頁進行Y軸的壓縮,並設定透明度為0.5f,所有我們看到gif最後,左右兩邊的圖片有點朦朧感。讓預覽頁和主頁面有主從感。我們用分

Android 定義控制元件 優雅實現元素間的分割線 (支援3.0以下)

1、概述話說,隨著Android SDK版本的升級,很多控制元件增加了新的屬性方便我們的使用,比如LinearLayout中多了:divider、showDividers等,用於為其內部元素新增分隔;但是呢,這樣的屬性在較低版本的SDK中不能被支援,那麼,我們在開發過程中,可

Android 定義控制元件 輕鬆實現360軟體詳情頁

轉載請標明出處:http://blog.csdn.net/lmj623565791/article/details/43649913,本文出自:【張鴻洋的部落格】1、概述最近有不少朋友私聊問應用寶、360軟體助手之類的軟體詳情頁怎麼做,剛好,最近有時間就模仿360軟體助手詳情

實現點選 WebView 圖片,呼叫原生控制元件展示圖片

現在有很多時候,我們的 App 都進行了混合開發,而最簡單,最常用的就是有些網頁採用了 WebView 進行展示,這就需要我們瞭解和懂得如何實現 WebView 和 JS 進行互動。今天我們就來學習一下,如何點選 WebView 中的網頁圖片,呼叫原生控制元件進行放大展示。

Android定義控制元件實現滑動選擇開關

前言:今天我們仿照著Google給我們提供的Switch控制元件來進行一次模仿,自己動手打造一個可以換滑動圖片以及背景的圖片。 -----------------分割線--------------- 先看一下google提供的Switc控制元件: 其實用法很簡單就當普通的

Android定義控制元件實戰——實現仿IOS下拉重新整理上拉載入 PullToRefreshLayout

         下拉重新整理控制元件,網上有很多版本,有自定義Layout佈局的,也有封裝控制元件的,各種實現方式的都有。但是很少有人告訴你具體如何實現的,今天我們就來一步步實現自己封裝的 PullToRefreshLayout 完美的解決下拉重新整理,上拉載入問題。  

Android完全定義控制元件並且實現監聽事件

本篇文章帶來Android的完全自定義控制元件。載體是自定義一個開關的控制元件,並且能夠響應事件,首先我們先創一個專案,名字就叫ToggleView,修改MainActivity public class MainActivity extends Acti

Android--listview每個item有多個控制元件的點選方法

有時候listview中item是由多個控制元件組成的,如果要分別獲取每個元件的點選事件,需要在adapter中getview方法中位每個控制元件設定tag,tag值為position,然後在onclick方法中判斷t

Android 通過定義控制元件方式實現帶開關效果的左右切換選擇器。

通過自定義控制元件方式實現帶開關效果的左右切換選擇器。 1、先上效果圖 2、佈局檔案gender_select_button.xml 佈局檔案很簡單,左右各一個RelativeLayout,佈局裡再巢狀一個TextView,用來顯

【C++ MFC+opencv】開啟資料夾圖片並在picture控制元件顯示

void CmyImageDlg::OnBnClickedButtonImg() //對應button下的開啟檔案對話方塊的程式碼 { // TODO: 在此新增控制元件通知處理程式程式碼 CString m_strPicPath; //彈出選擇圖片對話方塊 CFileD

VISUAL C++根據父視窗變化調整控制元件大小

如果對話方塊或視類的大小調後,控制元件的大小和位置沒有變化,介面看起來會很不爽 控制元件是從CWnd派生的,但不能使用SetWindowPos()或OnSize()或OnSizing()來改變其大小,應在父視窗的WM_SIZE訊息中使用MoveWindow()

C# Windows應用窗體使用者定義控制元件--開關實現

先準備了兩個好看的開關圖片: 將圖片資源匯入專案 開啟Properties下Resources.rex: 選擇影象: 新增現有檔案:(將準備好的圖片新增) 新增完成,可以看到多了一個Resources資料夾,裡面就是我們剛剛新增的圖

定義控制元件實現線上簽名,儲存,清除等功能實現

不多說,直接上程式碼看效果: package com.loaderman.signaturedemo; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color;

wheel定義控制元件實現城市三級聯動,時間選擇的功能簡單使用

                對於Android初學者,最煩的就是學習自定義控制元件。原生的控制元件不是醜就是無法滿足需求,不得以我們只好自己重寫控制元件的方法,下面我就為大家介紹一下某大神自定義的wheel控制元件Android滾輪控制元件,基於ListView實現,可以自定義樣式。,此控制元件可以實現