我有一个活动而其他活动是碎片。当我点击btnMain
时,我想清除后台并显示MainActivity
。我可以清除背书,可以去MainActivity
课,但我的问题是在前往MainActivity
之前有1秒钟(一秒钟)显示黑色背景。我该怎么办呢?以下是我onClick
的代码btnMain
。
public class MainActivity extends FragmentActivity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnMain = (Button)findViewById(R.id.btnMain);
btnMain.setOnClickListener(this);
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnMain:
Intent i = new Intent(this,MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//for clearing backstack
overridePendingTransition(0,0);
default:
break;
}
}
}
答案 0 :(得分:0)
似乎活动将从空白背景播放活动创建动画。建议的解决方法是添加intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
代码如下。
case R.id.btnUnreadNotif:
Intent i = new Intent(this,MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//for clearing backstack
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); // newly added.
overridePendingTransition(0,0);
break; // Do NOT miss this code :)
default:
break;
如果代码与以前相同,请将overridePendingTransition(0,0);
行放在setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
答案 1 :(得分:0)
对我有用的是隐藏和显示视图。它们使用不同的ID处于相同的布局中,当点击主页按钮时,我只是隐藏另一个,反之亦然。