2017-01-12 18 views
0

私のアプリケーションを起動すると、ダイアログが表示され、このダイアログにアニメーションが必要です!しかし、アニメーション(話すウィザード)は機能しません。 これは私のMainActivityアニメーションがダイアログで機能しない

public class MainActivity extends AppCompatActivity { 

SharedPreferences mPrefs; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Context mContext = this.getApplicationContext(); 
    mPrefs = mContext.getSharedPreferences("myAppPrefs", 0);   

    if(getFirstRun()) { 

     final Dialog dialog = new Dialog(this); 
     dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     dialog.setContentView(R.layout.activity_main2); 

     setRan(); 
     dialog.show(); 
    } 
} 

public boolean getFirstRun() { 
    return mPrefs.getBoolean("firstRun", true); 
} 

public void setRan() { 
    SharedPreferences.Editor edit = mPrefs.edit(); 
    edit.putBoolean("firstRun", false); 
    edit.apply(); 
} 
} 

であり、これは私のMain2Activityある

public class Main2Activity extends AppCompatActivity { 

private ImageView img; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 

    img = (ImageView) findViewById(R.id.img); 

    img.post(new Runnable() { 
     @Override 
     public void run() { 
      ((AnimationDrawable) img.getBackground()).start(); 
     } 
    }); 
} 

}

誰かが私は問題を解決することができますどのように私を助けることができますか?

+0

理由 'dialog.setContentView(R.layout.activity_main2);'?初心者ですか? –

+1

純粋にプロでなければならないものは何ですか? – Jordie

答えて

0

これを追加します。

dialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation; 

left_slide.xmlスタイルファイル内

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromXDelta="100%p" android:toXDelta="0" 
android:duration="500" /> 

right_slide.xml

<?xml version="1.0" encoding="utf-8"?> 
<translate xmlns:android="http://schemas.android.com/apk/res/android" 
android:duration="500" 
android:fromXDelta="0" 
android:toXDelta="100%p" /> 

。 DilaogAnimation

<style name="DialogAnimation"> 
    <item name="android:windowEnterAnimation">@anim/left_slide</item> 
    <item name="android:windowExitAnimation">@anim/right_slide</item> 
</style>