动画活动过渡:没有任何反应

时间:2013-05-09 09:39:57

标签: android animation android-activity

嗨,谢谢你的帮助。

我希望动画两个活动之间的过渡,但到目前为止还没有成功......

活动A通过strartActivity();

启动活动B.

在活动B的onCreate()中,我输入以下代码:

super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.in,R.anim.out);
setContentView(R.layout.activity_main);

编辑编辑:

在我改变建议后删除了上面的代码并添加到活动A(启动活动B)

public class MainActivity extends Activity {
public DataBaseHelper db;
public EditText enter;
public TextView tv;
public ArrayList<String> listWord;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    db = new DataBaseHelper(this);
    try {
        db.createDataBase();
    } catch (IOException ioe) {
        throw new Error("Unable to create database");
    }
    try {
        db.openDataBase();
        Log.e("", "database aperto");
    } catch (SQLException sqle) {
        throw sqle;
    }

    Cursor constantsCursor = db.getReadableDatabase().rawQuery(
            "SELECT _id, korean FROM data ", null);

    enter = (EditText) findViewById(R.id.editText1);
    Button bn = (Button) findViewById(R.id.button1);
    tv = (TextView) findViewById(R.id.textView1);
    bn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent in = new Intent(getApplicationContext(),
                    SecondActivity.class);
            startActivity(in);
            overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);

        }
    });

}

再次没有动画发生......

我希望在活动B开始时发生动画,但没有任何反应

是我的R.anim.in和R.anim.out。

R.anim.in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:zAdjustment="top" >

    <rotate
        android:duration="2000"
        android:fromDegrees="-45"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="0"
         />

</set>

R.anim.out

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <rotate
        android:duration="2000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="-45"
        />

</set>

提前感谢您的帮助!!

2 个答案:

答案 0 :(得分:2)

在调用startActivity之后调用overridePendingTransition

startActivity(intent);
overridePendingTransition(...)

答案 1 :(得分:1)

Activity A中,您启动Activity B,您必须在overridePendingTransition致电后致电startActivity

Activity A -

中的代码
Intent i = new Intent(A.this, B.class);
i.putExtras(...);
i.setFlags(...);
startActivity(i);
overridePendingTransition(R.anim.in, R.anim.out);