2017-05-05 9 views
0

私はアンドロイドのデータバインディングでフラグメントの背景を設定しています。背景には、私はこのようなXMLでそれを設定しています動的に変更することができますので:データバインディングで設定したときの背景画像のちらつき

app:image="@{variable.getBackgroundImage()}" 

getBackgroundImageは()バックグラウンドのパスを提供します。私はこのような背景を設定するには、グライドを使用しています :

Glide.with(view.getContext()).load(url + File.separator + path) 
        .dontAnimate() 
        .into(new SimpleTarget<GlideDrawable>() { 
         @Override 
         public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { 
          view.setBackground(resource); 
         } 
        }); 

画像が設定されつつあるが、XMLで予め設定された背景の瞬間的なちらつきがあります。

このような背景のちらつきを避けるにはどうすればよいですか?

+1

私は2つのことしか考えることができません:Glideがリソースを読み込むために瞬間を取るか、 'executePendingBindings()'を実行していません。 –

答えて

1

私は問題を解決しました。問題は滑空でありました。私は今、グライドとそのうまく動作しないで背景を設定しています。ちらつきはありません。

BitmapDrawable bd = new BitmapDrawable(view.getContext().getResources(), BitmapFactory.decodeFile(url + File.separator + path)); 
      view.setBackground(bd);