相关疑难解决方法(0)

我可以更改Android startActivity()过渡动画吗?

我正在开始一项活动,宁愿有一个淡入淡出的淡入淡出startActivity()和淡出淡出finish().我怎样才能在Android SDK中解决这个问题?

animation android transition fade

107
推荐指数
7
解决办法
13万
查看次数

杀死另一个活动

我有两个活动A和B. B是透明的传递活动,可以看到A. 我想按下按钮A杀死B.

这是我到目前为止所尝试的:

B obj=new B();
obj.finish();
Run Code Online (Sandbox Code Playgroud)

我创建了一个B的对象并试图杀死它.那没用.

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra("keep", true);
                startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这段代码应该做的是清除最顶层的活动,即B并再次调用B,除非这次我传递的值使得B在几秒钟后自杀.

由于某种原因,这只会增加活动的更多实例.或者至少我认为发生了什么,因为屏幕由于许多透明的活动而变得像素化.

这是我的清单:

<activity
        android:name="com.xxx.xxx.B"
        android:excludeFromRecents="true"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:clearTaskOnLaunch="true" >
    </activity>
Run Code Online (Sandbox Code Playgroud)

当我在显示活动时按下按钮并且第二次杀死按钮时,我该怎么办呢?创作部分显然得到了照顾.我的活动B弹出,我想杀死它,因为B在顶部.

编辑

我用一个checkBox尝试了这个,这是代码:

enable.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            finishActivity(0);
            Intent intent = new Intent(A.this, B.class);
            if (enable.isChecked()) {
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra("keep", true);
                intent.putExtra("value", 10);
                startActivityForResult(intent, 0);
            }
            else
            {
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                intent.putExtra("keep", false);
                startActivityForResult(intent, 0);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

选中启用后,将调用该活动,该工作正常.但他们一直在努力.当我检查并取消选中复选框时,它不像这个A-> B-> A-> B. 它是A-> B-> BB-> BBB

android android-intent android-activity

8
推荐指数
1
解决办法
3万
查看次数