0

您好,感谢您的帮助。

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

活动 A 通过 strtActivity() 启动活动 B;

在活动 BI 的 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);

        }
    });

}

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

我希望 Activity B 开始时会发生动画,但什么也没发生

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

动画动画

<?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>

动画输出

<?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>

预先感谢您的帮助!!

4

2 回答 2

2

调用 startActivity调用overridePendingTransition :

startActivity(intent);
overridePendingTransition(...)
于 2013-05-09T09:54:22.777 回答
1

ActivityA 中,在您启动ActivityB 的地方,您必须一个overridePendingTransition接一个地startActivity调用。

A中的代码Activity-

Intent i = new Intent(A.this, B.class);
i.putExtras(...);
i.setFlags(...);
startActivity(i);
overridePendingTransition(R.anim.in, R.anim.out);
于 2013-05-09T10:07:57.223 回答