बाएं से करने के लिए इन संशोधनों करें आपकी एनीमेशन फाइलें:
enter.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
exit.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="-100%"
android:toYDelta="0%" />
</set>
आप अपने दूसरी गतिविधि दाएं से बाएं से में फिसलने होगा।
इस तरह से आप आसानी से तुम क्यों एंड्रॉयड जोड़ने समझ सकते हैं:
कैसे एनिमेशन के लिए fromXDelta और toXDelta मूल्यों के साथ चारों ओर खेलने के लिए पर एक बेहतर समझ के लिए, यहाँ मूल्यों पर एक बहुत ही बुनियादी उदाहरण है: आपकी वर्तमान गतिविधि के लिए xXDelta = "0%" और एंड्रॉइड: toXDelta = "- 100%"। और ऐसा इसलिए है क्योंकि आप इसे 0% से -100% स्थिति में जाना चाहते हैं।
[संपादित करें]
तो अगर आप ActivityA से ActivityB को खोलने के लिए आप निम्न उपाय अपनाते हैं (मान लीजिए कि आप एक बटन डालते हैं) हैं:,
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(ActivityA.this, ActivityB.class));
overridePendingTransition(R.anim.enter, R.anim.exit);
}
});
अब अगर आप करना चाहते हैं पहली बार एनीमेशन ", जब आप एक्टिविटी बी छोड़ते हैं, तो आपको 2 नई एनीमेशन फाइलों और एक्टिविटी की ऑनबैकप्रेस विधि में कुछ कोड की आवश्यकता होगी, जैसे:
पहले एनीमेशन फाइलें: left_to_right.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="-100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
right_to_left।xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="100%"
android:toYDelta="0%" />
</set>
और ActivityB में निम्न कार्य करें:
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.left_to_right, R.anim.right_to_left);
}
इसके अलावा, अगर आप ऊपर है नेविगेशन सक्षम हैं तो आप इस मामले में एनीमेशन जोड़ने के लिए और साथ ही होगा:
आप यूपी नेविगेशन को इस तरह सक्षम करें:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
और इस तरह आप इस मामले में एनीमेशन को भी संभालते हैं:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
//NavUtils.navigateUpFromSameTask(this);
finish();
overridePendingTransition(R.anim.left_to_right, R.anim.right_to_left);
return true;
}
return super.onOptionsItemSelected(item);
}
यह भी ध्यान रखें कि यदि आपका कोड ठीक है, तो भी आपके फोन में एनीमेशन बंद हो सकता है। तो मोड़ पर निम्नलिखित कार्य करें:
- सेटिंग खोलें और डेवलपर विकल्प के लिए जाना
- यकीन है कि यह सक्षम है
- नीचे स्क्रॉल (ऊपर दाईं ओर टॉगल बटन रपट के आधार पर) और, नल आहरण के तहत इन विकल्पों में एक के बाद एक: विंडोज एनिमेशन स्केल, संक्रमण एनिमेशन स्केल, और एनिमेटर अवधि स्केल
- का चयन करें "एनिमेशन स्केल 1x"
इस मदद करता है?
क्या गतिविधि और लक्ष्य गतिविधि शुरू करने के लिए लिखने के लिए? –
मैं यह – Mike
जोड़ने के लिए अपना उत्तर संपादित करूंगा यदि आप बाएं से दाएं को भी जोड़ते हैं तो यह अच्छा होगा –