簡體   English   中英

Android:onTouchEvent啟動新活動

[英]Android: onTouchEvent start new activity

我已經搜索了一段時間,但是找不到適用於我的android代碼的有效解決方案。 好吧,至少我能夠實現。

我有一個帶有幾個動畫的活動(StartActivity)。 然后我有一個onTouchEvent。 這可以很好地提示其他動畫,但是在此之后,我想打開一個新的Activity。

這是我的代碼:

public class StartActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.start);

    RunAnimations(R.anim.translate1, R.anim.translate2);
}

public void RunAnimations(int t1, int t2) {
    Animation a = AnimationUtils.loadAnimation(this, t1);
    a.reset();
    Animation b = AnimationUtils.loadAnimation(this, t2);
    b.reset();
    ImageView drop = (ImageView) findViewById(R.id.drop);
    ImageView iflush = (ImageView) findViewById(R.id.iflush);
    drop.clearAnimation();
    iflush.clearAnimation();
    drop.startAnimation(a);
    iflush.startAnimation(b);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        RunAnimations(R.anim.translate3, R.anim.translate4);
    }
    return true;
}
}

在onTouchEvent中,調用RunAnimations后,我想開始一個新的活動(TipActivity)。 就這些。

像這樣向您的AndroidManifest文件添加另一個活動:

<activity
    android:label="YourActivity"
    android:name=".YourActivity" >    
    <intent-filter >
        <action android:name="net.learn2develop.YourActivity" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

然后您可以做類似的事情(在調用RunAnimations() ):

startActivity(new Intent("net.learn2develop.YourActivity"));

希望能有所幫助。

使用:

Intent intent=new Intent(context, TipActivity.class);  
startActivity(intent);    
overridePendingTransition(R.anim.translate3, R.anim.translate4);

^-^

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM