2016-04-03 4 views
0

Picasaでプレースホルダアニメーションを実装しようとしていますが、Webから読み込んでいるときにカスタムアニメーションをアニメーションします。私は多くの解決策を探しており、アニメーションをスケールダウンして中心に置く方法を見つけることはできません。その結果、アニメーションがストレッチ、センタリング、または1つのコーナーで再生されることがあります。Picassoプレースホルダスケールとセンター画面に合わせる

アニメーションイメージは、イメージビューとダウンロードされたイメージよりも大幅に小さくなります。ここで

は、私が現在使用していますコードです:ここでは

Picasso.with(getActivity()).load(imageUri).fit()//.placeholder(R.drawable.progress_animation) 
       .placeholder(R.drawable.progress_animation) 
         .into(mIconView); 

は、アニメーションの定義である:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 

アンドロイド:ID = "@ + ID /選択" アンドロイド:ワンショット= "falseを「>

<item android:drawable="@drawable/wheel1" android:duration="50" /> 
<item android:drawable="@drawable/wheel2" android:duration="50" /> 
<item android:drawable="@drawable/wheel3" android:duration="50" /> 
<item android:drawable="@drawable/wheel4" android:duration="50" /> 
<item android:drawable="@drawable/wheel5" android:duration="50" /> 

ピカソのアニメーションのスケールと位置を制御する方法に関する提案はありますが、fit()やresize()を使用する方法が見つからず、プレースホルダではなく最終的な画像にのみ影響し、それらは衝突を生成する。

+0

顔と同じ問題が(この[サイズ再ピカソイメージ]を見ているhttps://futurestud.io/blog/ピカソ画像のサイズ変更と適合) – Kathi

答えて

1

私は進行状況バーとコールバックを使用して方法を見つける。ここ

mProgressView.setVisibility(View.VISIBLE); 
      Picasso.with(getActivity()).load(f).fit() 

        .into(mIcon,new Callback() { 
         @Override 
         public void onSuccess() { 
          mProgressView.setVisibility(View.GONE); 
         } 

         @Override 
         public void onError() { 
          // TODO Auto-generated method stub 

         } 
        }); 

レイアウトセクション

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="200dp" 

> 
<ImageButton 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

    android:id="@+id/ib_place_dialog_image" 
    android:maxHeight="200dp" 
    android:layout_gravity="center_horizontal" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 
<ProgressBar 
    style="?android:attr/progressBarStyleLarge" 
    android:scaleX="0.4" 
    android:scaleY="0.4" 
    android:layout_width="128dp" 
    android:layout_height="128dp" 
    android:id="@+id/cliff_image_progress_bar" 

    android:indeterminateDrawable="@drawable/progress_animation" 
    android:layout_centerVertical="true" 
    android:layout_centerHorizontal="true" /> 

とアニメーション

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/selected" android:oneshot="false"> 

    <item android:drawable="@drawable/frame_0" android:duration="30" /> 
    <item android:drawable="@drawable/frame_0" android:duration="30" /> 
<item android:drawable="@drawable/frame_0" android:duration="30" /> 
<item android:drawable="@drawable/frame_1" android:duration="30" /> 
<item android:drawable="@drawable/frame_2" android:duration="30" /> 
<item android:drawable="@drawable/frame_3" android:duration="30" /> 
<item android:drawable="@drawable/frame_4" android:duration="30" /> 
<item android:drawable="@drawable/frame_5" android:duration="30" /> 
<item android:drawable="@drawable/frame_6" android:duration="30" /> 
<item android:drawable="@drawable/frame_7" android:duration="30" /> 
<item android:drawable="@drawable/frame_8" android:duration="30" /> 
<item android:drawable="@drawable/frame_9" android:duration="30" /> 
<item android:drawable="@drawable/frame_10" android:duration="30" /> 
<item android:drawable="@drawable/frame_11" android:duration="30" /> 
<item android:drawable="@drawable/frame_12" android:duration="30" /> 
<item android:drawable="@drawable/frame_13" android:duration="30" /> 
<item android:drawable="@drawable/frame_14" android:duration="30" /> 
<item android:drawable="@drawable/frame_15" android:duration="30" /> 
<item android:drawable="@drawable/frame_16" android:duration="30" /> 
<item android:drawable="@drawable/frame_17" android:duration="30" /> 
<item android:drawable="@drawable/frame_18" android:duration="30" /> 
<item android:drawable="@drawable/frame_19" android:duration="30" /> 
<item android:drawable="@drawable/frame_20" android:duration="30" /> 
<item android:drawable="@drawable/frame_21" android:duration="30" /> 
<item android:drawable="@drawable/frame_22" android:duration="30" /> 
<item android:drawable="@drawable/frame_23" android:duration="30" /> 
<item android:drawable="@drawable/frame_24" android:duration="30" /> 
<item android:drawable="@drawable/frame_25" android:duration="30" /> 
<item android:drawable="@drawable/frame_26" android:duration="30" /> 
<item android:drawable="@drawable/frame_27" android:duration="30" /> 
<item android:drawable="@drawable/frame_28" android:duration="30" /> 
<item android:drawable="@drawable/frame_29" android:duration="30" /> 



</animation-list> 
+0

ありがとう、コールバックは本当に便利でした。 – JCarlos