启动片段时黑屏显示时间短。我会对片段进行条形码扫描。
如果我只是打开一个空白屏幕,我看不到黑屏。我认为我要打开的问题是片段加载时间很长。
我该如何解决这个问题
我的代码
getFragmentManager().beginTransaction()
.replace(R.id.container,newFragment2())
.commit();
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.dlazaro66.qrcodereaderview.QRCodeReaderView
android:id="@+id/qrdecoderview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
/>
</LinearLayout>
答案 0 :(得分:0)
在onCreate()或PostCreate()之后尝试以编程方式加载QRCodeReaderView怎么样?或者,您可以尝试在片段完全加载后异步执行此操作。
答案 1 :(得分:0)
如果QRCodeReaderView或任何其他视图延迟片段初始化,您可以尝试使用ViewStubs.
来自Android文档,
ViewStub是一个不可见的,零大小的视图,可以懒得使用 在运行时膨胀布局资源。当ViewStub可见时, 或者,当调用inflate()时,布局资源会膨胀。该 ViewStub然后在其父级中使用膨胀的View或替换自身 视图。因此,ViewStub存在于视图层次结构中,直到 调用setVisibility(int)或inflate()。膨胀的视图已添加 使用ViewStub的布局参数
到ViewStub的父级