2013-03-04 57 views
0

停止我剛通過幀動畫圖像視圖應用於幀之後,我只是由幀隱藏ImageView的由幀動畫幀在機器人

main.java

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ImageView iv = (ImageView) findViewById(R.id.imageView1); 

    iv.setBackgroundResource(R.anim.animation); 
    AnimationDrawable ac= (AnimationDrawable) iv.getBackground(); 
    ac.start(); 

    //ac.stop(); 
if(ac.isRunning()==false){ 
     iv.setVisibility(View.INVISIBLE); 
    } 
     } 

使用在幀2倍中的圖像animation.xml

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/image1" android:duration="1000"/> 
<item android:drawable="@drawable/image2" android:duration="1000"/> 
</animation-list> 

activity_main.xml中(佈局)

<RelativeLayout 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" 
android:background="#000000" 

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" /> 

    </RelativeLayout> 

林還困惑在哪裏停止該動畫 ,我需要隱藏的動畫圖像2後的圖像視圖,然後重新啓動動畫以後

我工作的廣告圖像。所以我需要短時間顯示圖像,然後再重新啓動。

如果有人知道這個解決方案。請幫幫我。

回答

0

ImageView iv =(ImageView)findViewById(R.id.imageView1);

iv.setBackgroundResource(R.anim.animation); 
AnimationDrawable ac= (AnimationDrawable) iv.getBackground(); 
ac.start(); 

您可以簡單地把一個空的圖片作爲動畫的最後一個項目:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    android:oneshot="true" 
> 
<item android:drawable="@drawable/image1" android:duration="1000"/> 
<item android:drawable="@drawable/image2" android:duration="1000"/> 
    <item android:drawable="@drawable/dummy" android:duration="1000"/> 

    </animation-list> 

和單穩= TRUE。

要重新啓動,您可以調用onClick方法並調用像下面這樣的重新啓動: Button btn1 =(Button)findViewById(R.id.btn1);

btn1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      ImageView iv = (ImageView) findViewById(R.id.imageView1); 

       iv.setBackgroundResource(R.anim.animation); 
       AnimationDrawable ac= (AnimationDrawable) iv.getBackground(); 
       ac.start(); 

     } 
+0

不錯的主意,如何重新啓動一些動畫? – AnanThDev 2013-03-04 12:48:50

+0

@AnanThDev如果它是正確的,然後標記我的答案:)。無論如何,我添加了一些代碼reto開始動畫。 – Gyonder 2013-03-04 13:14:53

+0

@Gynonder:我不使用Button ..因爲我使用imageView作爲不同的框架實現廣告。所有其他想法? – AnanThDev 2013-03-04 13:54:26