Android ImageView Library?のPicassoが使えるんじゃないかって件

2014-01-20T00:00:00+00:00 Android Java

https://github.com/square/picasso っていうのがあるのを知り使ってみたんだが、これなかなか使えるのではと

package sample.test;

import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.Toast;

import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Transformation;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);
        //ImageView imageView = (ImageView)findViewById(R.id.imageView);

        ImageView imageView = new ImageView(this);
        setContentView(imageView);

        Picasso.with(this)
            .load("https://dl.dropboxusercontent.com/u/48660384/wordpress/201310092030.jpg")
            // エラーが起きた場合にロードする画像を差し替える
            .error(R.drawable.ic_launcher)
            .fit()
            .transform(new Transformation() {
                // エラーの場合は発生しない?
                @Override
                public Bitmap transform(Bitmap bmp) {
                    /*
                    fitメソッド等を先に実行する等をした場合にはレイアウトにより
                    フィットするリサイズされたandroid.graphic.Bitmapが渡される模様
                    */

                    return bmp;
                }

                @Override
                public String key() {
                    // キャッシュキー?
                    return "test";
                }
            })
            .into(imageView, new Callback() {
                @Override
                public void onError() {
                    Toast.makeText(MainActivity.this, "Error", Toast.LENGTH_LONG).show();
                }

                @Override
                public void onSuccess() {
                    Toast.makeText(MainActivity.this, "OK", Toast.LENGTH_LONG).show();
                }
            });
   }
}

単純な利用法だけだけど、画像のロードに失敗したりした際に別の画像で差し替えるような場合とかも単純にサポートされているのでそういう処理をごちゃごちゃ実装しなくても良い模様

んまぁ公式にもAdapterを使った例だとかあるからそれ読めば良いんじゃねって事で

AndroidSlidingUpPanel android-times-square