2012-11-18 31 views
0

如何以編程方式打開動畫?我正在使用overridePendingTransition();。除非我自己開啓動畫,否則它不起作用。任何人都可以告訴我如何以顯示/動畫設置內部編程方式啓用動畫?我正在使用overridePendingTransition();開啓新的活動。如何以編程方式打開動畫?

這裏是我的xml

grow_fadein_center

<?xml version="1.0" encoding="utf-8"?> 

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <scale android:fromXScale="0.6" android:toXScale="1.0" 
      android:fromYScale="0.6" android:toYScale="1.0" 
      android:pivotX="50%" android:pivotY="50%" 
      android:duration="@android:integer/config_longAnimTime" /> 
    <alpha android:interpolator="@anim/decelerate_interpolator" 
      android:fromAlpha="0.0" android:toAlpha="1.0" 
      android:duration="@android:integer/config_longAnimTime" /> 
</set> 

shrink_fadeout_center:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <scale android:fromXScale="1.0" android:toXScale="0.5" 
      android:fromYScale="1.0" android:toYScale="0.5" 
      android:pivotX="50%" android:pivotY="50%" 
      android:duration="@android:integer/config_longAnimTime" /> 
    <alpha android:interpolator="@anim/accelerate_interpolator" 
      android:fromAlpha="1.0" android:toAlpha="0.0" 
      android:duration="@android:integer/config_longAnimTime"/> 
</set> 

,這裏是我使用打開意圖

btn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

       ContentResolver cr = getContentResolver(); 
       Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0); 

       Intent intent=new Intent(context,Second.class); 


       startActivity(intent); 
       overridePendingTransition(R.anim.grow_fade_in_center, R.anim.shrink_fade_out_center); 
       finish(); 

//testing on textview worked without turning system animation on. 
       Animation animation=AnimationUtils.loadAnimation(context, R.anim.grow_fade_in_center); 
       txt.startAnimation(animation); 




      } 
     }); 

此代碼僅在動畫開啓時纔有效。而我這樣通過設置 - >顯示 - >動畫

我發現

​​

來打開或關閉動畫通過設置整數!但它不適合我! 我需要什麼是如何打開/關閉動畫編程方式在系統設置?

+0

要做什麼? 'overridePendingTransition()'用於活動轉換..你想要做什麼?!? –

+0

使您的問題更具體,並提供您的代碼.... – MBMJ

+0

@MBMJ&我添加了我的代碼。對不起,我之前並不清楚! – Manoj

回答

0

您不需要像這樣務實地啓動動畫。

您只需要在正確的地方撥打overridePendingTransition(R.anim.grow_fade_in_center, R.anim.shrink_fade_out_center);即可。

public void onClick(View v) { 
    startActivity(HomeActivity.class); 
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 
    finish(); 
} 

也做的:

Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0); 

請問禁用窗口動畫!

+0

很好,但沒有工作!我用薑餅2.3.5使用Htc瀏覽器。 – Manoj

+0

只有當我手動打開它時纔有效!即使我在android ICS 4.0.3上面對Lg optimus L7也有同樣的問題。在LG。在這裏我甚至需要打開它! – Manoj

+0

更新了答案!你爲什麼禁用窗口動畫? –