public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Variables
ImageView imageView;
imageView = (ImageView) findViewById(R.id.imageView);
//Loading into ImageView
Glide.with(this)
.load("http://vrijeme.hr/bradar.gif")
.into(imageView);
}
Picassoも使用して、PhotoViewライブラリに接続しようとしましたが、何もしませんでした。ピンチしてズームしようとすると、まったくズームしませんでした。コードの一部を次に示します。
ImageView imageView;
PhotoViewAttacher photoView;
imageView = (ImageView) findViewById(R.id.imageView);
photoView = new PhotoViewAttacher(imageView);
Picasso.with(this)
.load("link")
.resize(1080,80)
.into(imageView);
たとえば、このライブラリを使用できます。 https://github.com/MikeOrtiz/TouchImageView
ImageViewではなく、このウィジェットに画像をロードします
使用例:
private TouchImageView mContentView;
private private SimpleTarget target;
mContentView = (TouchImageView) findViewById(R.id.fullscreen_content);
target = new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation glideAnimation)
{
// do something with the bitmap
// for demonstration purposes, let's just set it to an ImageView
mContentView.setImageBitmap(bitmap);
}
};
Glide.with(this) // could be an issue!
.load( imagePath )
.asBitmap()
.into(target);
最初にSimpleTargetも使用していることに注意してください。グライドとピンチを使用して、大きな画像の効果をズームすることをお勧めします。
そして、レイアウトは次のようになります。
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
tools:context="com.example.FullscreenActivity">
<com.yourPath.TouchImageView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:id="@+id/fullscreen_content"/>
</FrameLayout>
また、この設定後に画像をロードする際に問題が発生する場合があります。私にとってはこのような仕事をしています。 TouchImageViewクラスのメソッドをオーバーライドします。
@Override
public void setImageBitmap(Bitmap bm) {
imageRenderedAtLeastOnce = false;
super.setImageBitmap(bm);
savePreviousImageValues();
fitImageToView();
}
ここでPhotoView
と呼ばれるこのライブラリは非常に人気があります。
https://github.com/chrisbanes/PhotoView
13,500以上のスター、30以上の貢献者がそれを支持しており、非常に多くの人々がそれを使用しており、プロジェクトへの統合がいかに簡単であるか、それはほとんど標準のように感じます。
Glide
^。^とも互換性があります
インストール( chrisbanes による公式ドキュメント)
これをルートに追加しますbuild.gradle
ファイル(notモジュールbuild.gradle
ファイル):
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
次に、ライブラリをモジュールに追加しますbuild.gradle
dependencies {
implementation 'com.github.chrisbanes:PhotoView:latest.release.here'
}
執筆時点では、latest.release.here
は2.1.4
。
使用法( chrisbanes による公式ドキュメント)
より高度な方法でライブラリを使用する方法を示す sample が提供されていますが、完全を期すために、PhotoViewを機能させるために必要なものは次のとおりです。
<com.github.chrisbanes.photoview.PhotoView
Android:id="@+id/photo_view"
Android:layout_width="match_parent"
Android:layout_height="match_parent"/>
PhotoView photoView = (PhotoView) findViewById(R.id.photo_view);
photoView.setImageResource(R.drawable.image);
それでおしまい!
使用法 グライド
何も変わらない!!
PhotoView photoView = (PhotoView) findViewById(R.id.photo_view);
Glide.with(this).load(imageUrl).into(photoView);