Androidのネットワークダウンロードの写真は、幅と高さ、幾何学的なスケーリングを設定します

使用ピカソは、コンポーネント映像の幅と高さがあります画像をダウンロードするにはしませんが変形幾何学的なスケーリング制御、あなたセットscaleType画像はにピカソのために役に立たないのAPIのものとすることができる場合でも、
Picasso.with(this.activity)
    .LOAD(AppModel.GetInstance()。userAvatarPath)
    .noFade()
    。フィット()
    .into(アバター)
 
グライドライブラリが使用、高いズームより広いダウンロードした画像の良好な制御をより便利になります
 
 
1、次のようなレイアウト:
 
< ImageViewの
 アンドロイド:ID = "@ + ID / qrcodeImg" 
アンドロイド:layout_width = "300dp" 
アンドロイド:layout_height = "300dp" 
アンドロイド:scaleType = "fitCenter" 
アンドロイド:背景= "色/青色@" 
/>
 

 

あなたは、安全側に書き込みを書き込むことはできませんので、デフォルト値はfitCenterで、fitCenterに使わ1> scaleType
2>私たちは、リモートの画像の幅と高さのあまり、ここかセット幅をダウンロードするには、高さが、それ以外のコードは文句を言うことは知りません
3>それは明確にダウンロードして表示した後、絵を知っている背景色ImageViewのを設定するには、実際には、表示範囲とスケールモードは次のようです
 
2、のように、次のとおりです。
同時に、幅と高さを設定し、最終的に最大の高さ、最大幅を設定し、画面幅の70%を超えない、画面の高さは、幾何学を維持し、maxWidthに、のmaxHeight使用に沿ったものであるsetAdjustViewBoundsは、オンライン参照コードの60%を超えませんしかし、実際のテストでは、フレーズを削除するには何の変化も見られません
最初のネットワークのアスペクト比の実際の画像を取得し、画面のアスペクト比は、スケーリング、その後、適切な幅や高さを比較することにより計算される:私は、トラブルの詳細アイデアの一種で、ゲームの開発を避けるために、この練習を始めました。
その幾何学的なスケーリングを確保するだけでなく、目に見える全ての画像を確実にするために、ではない超え、トリミングされません。
。Glide.with(のgetContext())負荷(AppModel.GetInstance()getUserQrcodePath())(qrcodeImg)へ。
 
INT screenWidth = QMUIDisplayHelper.getScreenWidth(のgetContext())。
INT screenHeight = QMUIDisplayHelper.getScreenHeight(のgetContext())。
ViewGroup.LayoutParams layoutParams = (ViewGroup.LayoutParams)qrcodeImg.getLayoutParams(); 
 
INTのmaxWidth =(INT)(screenWidth * 0.7 )。
INTのmaxHeight =(INT)(screenHeight * 0.6 )。
 
layoutParams.width = maxWidthに。
layoutParams.height = のmaxHeight。
 
qrcodeImg.setAdjustViewBounds(真の); 
qrcodeImg.setMaxWidth(のmaxWidth)。
qrcodeImg.setMaxHeight(のmaxHeight)。
 

 

3、実機効果スクリーンショット:
最初のハイ>図の幅は、第2の幅は>図高く
ここでImageViewのの背景色を設定することの利点を見ることができ、画像の真の範囲は、青色領域であり、fitCenterズームモード外部一定サイズの場合にように、内部ズーム
 

 

 

 

 

おすすめ

転載: www.cnblogs.com/JD85/p/12026305.html