Glideは入門して精通の19に着きます——動態はModel Loaderを使います
3715 ワード
http://mrfu.me/2016/02/28/Glide_Dynamically_Use_Model_Loaders/
ヒント:前のブログをまだ読んでいないなら、今読んでください.さもないと、下の部分は難しそうです.
短い回顧として、通常Glideの要求はGlideUrl類と使います.私たちは先週、幅と高さを増やすことを考えて、どのように新しいインターフェースを作るかを示しました.
今はGlide moduleを宣言しました.Glideはそれを各要求に使います.そうしたくないなら、Android Manifest.xmlからあなたのGlide moduleを削除します.私たちはこのようにしてもいいです.Glideが提供したのです.using()方法は単一の要求のためにモデルを指定します.
Outlook
このブログでは、どのように指定のお願いのためにモデルを指定するかを勉強しました.Android ManifestでGlide moduleを使いたくないなら、これは簡単な選択です.
このブログの文章があったら、私達はGlide moduleに深く入ることとそれらの用途を完成しました.私たちはこのシリーズを包み込みます.
ヒント:前のブログをまだ読んでいないなら、今読んでください.さもないと、下の部分は難しそうです.
短い回顧として、通常Glideの要求はGlideUrl類と使います.私たちは先週、幅と高さを増やすことを考えて、どのように新しいインターフェースを作るかを示しました.
public interface CustomImageSizeModel {
String requestCustomSizeUrl(int width, int height);
}
画像を伝えるURLとサイズを合わせてワークサーバに提出した実装を作成しました.public static class CustomImageSizeModelFutureStudio implements CustomImageSizeModel {
String baseImageUrl;
public CustomImageSizeModelFutureStudio(String baseImageUrl) {
this.baseImageUrl = baseImageUrl;
}
@Override
public String requestCustomSizeUrl(int width, int height) {
return baseImageUrl + "?w=" + width + "&h=" + height;
}
}
最後に、これは最も重要なものではなく、CustomageSizerLoaderを作成しなければなりません.幅と高さが私たちのmodelに与えられました.public static class CustomImageSizeUrlLoader extends BaseGlideUrlLoader<CustomImageSizeModel> {
public CustomImageSizeUrlLoader(Context context) {
super( context );
}
@Override
protected String getUrl(CustomImageSizeModel model, int width, int height) {
return model.requestCustomSizeUrl( width, height );
}
}
Model Loaderと.using()のダイナミック使用今はGlide moduleを宣言しました.Glideはそれを各要求に使います.そうしたくないなら、Android Manifest.xmlからあなたのGlide moduleを削除します.私たちはこのようにしてもいいです.Glideが提供したのです.using()方法は単一の要求のためにモデルを指定します.
String baseImageUrl = "https://futurestud.io/images/example.png";
CustomImageSizeModel customImageRequest = new CustomImageSizeModelFutureStudio( baseImageUrl );
Glide
.with( context )
.using( new CustomImageSizeUrlLoader( context ) )
.load( customImageRequest )
.into( imageView1 );
ご覧のように、CustoomImageSize Model FutureStudioオブジェクトを作成しています.画像を指定のサイズでロードします.Glide moduleでCusstomImageSize Modelインターフェースを宣言していないので、私たちはこの行のコードを指定しなければなりません.using(new CusstomImageSizerLoader).Glideは今この要請のためだけにこのモデルを使います.他の要求に対しては,CustoomImageSize Modelインターフェースがあっても影響を受けない.Outlook
このブログでは、どのように指定のお願いのためにモデルを指定するかを勉強しました.Android ManifestでGlide moduleを使いたくないなら、これは簡単な選択です.
このブログの文章があったら、私達はGlide moduleに深く入ることとそれらの用途を完成しました.私たちはこのシリーズを包み込みます.