天天看點

overridePendingTransition在TabActivity裡使用會失效的解決辦法

因為Tabhost也有自己預設的overridePendingTransition()方法,是以這裡我們可以在繼承TabActivity的Activity的onPause()方法裡調用overridePendingTransition(In,out)。

廢話不多說,具體代碼如下:

原代碼:

@Override
	protected void onPause()
	{
		super.onPause();
		
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event)
	{
		switch (keyCode)
		{
		case KeyEvent.KEYCODE_BACK:
			BatteryActivity.this.finish();
			overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
			return true;
		}
		return false;// 如果傳回true就是代表告訴系統“所有的按鍵我全要了”,達到了屏蔽所有按鍵的效果(home和菜單鍵貌似還不能屏蔽)

	}
           

改變後的代碼;

@Override
	protected void onPause()
	{
		super.onPause();
		// 因為Tabhost也有自己預設的overridePendingTransition()方法,我解決的方法是繼承TabActivity的Activity的onPause()方法裡調用overridePendingTransition(In,out)。
		overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event)
	{
		switch (keyCode)
		{
		case KeyEvent.KEYCODE_BACK:
			BatteryActivity.this.finish();
			// overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
			return true;
		}
		return false;// 如果傳回true就是代表告訴系統“所有的按鍵我全要了”,達到了屏蔽所有按鍵的效果(home和菜單鍵貌似還不能屏蔽)

	}