【问题标题】:A Black screen between android transitionandroid过渡之间的黑屏
【发布时间】:2017-03-11 13:18:10
【问题描述】:

正如标题所说,我的手机在 android 转换之间显示黑屏。 这是我的 java 主要活动代码:

public class Main extends AppCompatActivity {
int h=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);



}

public void a ( View view){

    startActivity(new Intent(getApplicationContext(), MainWithButtons.class));
   overridePendingTransition(R.anim.left_in, R.anim.left_out);
}

}

这里是java第二个活动:

public class MainWithButtons extends AppCompatActivity{
  @Override
protected void onCreate( Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_with_buttons);

 }
}

left_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">
    <translate
        android:duration="400"
        android:fromXDelta="0"
        android:toXDelta="100%p"/>
</set>

left_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate
    android:duration="400"
    android:fromXDelta="-100%p"
    android:toXDelta="0"/>
</set>

当我评论 overridePendingTransition 方法时,我可以打开第二个活动,所以 onClick 不是问题。

【问题讨论】:

标签: java android transitions


【解决方案1】:

嗯,也许在打开之前尝试等待,比如稍后打开。正如我从快速阅读中看到的那样,这是一个刷新问题。您可能正在从不太复杂的活动跳到更复杂的活动,这就是为什么您需要 CPU 预处理器能力 (Kamehamehaaaa) 并稍后分配打开。你还是会有一点延迟,但是调用会异步,黑屏会消失,因为 CPau 会告诉 Android Java,我现在要打开你,请准备好一切,它会准备好的。

【讨论】:

  • 那么你建议我可以做些什么来解决这个问题?
  • 你有 postDelayed() 像这样打开新的活动:stackoverflow.com/questions/3072173/…
  • aaand 你有这样的 onUiThread(),你可以阅读它们和它们的区别,我不知道:stackoverflow.com/questions/11123621/…
  • 我刚刚尝试了这两个选项,其中任何一个都有效,我不明白为什么
  • 1 秒。我正在进一步寻找
猜你喜欢
  • 2019-07-25
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
相关资源
最近更新 更多