所以我有一个检查各种要求的应用程序,检查过程通过 ProgressBar
可视化。一开始,它看起来就像它应该的那样。但是,如果我使用 startActivityForResult()
启动另一个 Activity(在本例中为辅助功能设置),应用程序会再次初始化整个过程,但不知何故 ProgressBars
看起来很奇怪( see video below ).
布局:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="20dip"
android:layout_marginLeft="20dip"
android:layout_marginTop="20dip"
android:orientation="horizontal"
android:paddingLeft="5dip" >
<FrameLayout
android:layout_width="48dip"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/checkImage2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="centerInside"
android:visibility="invisible" />
<ProgressBar
android:id="@+id/checkProgess2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible" />
</FrameLayout>
<TextView
android:id="@+id/checkText2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:gravity="center_vertical"
android:text="Checking for Service..." />
</LinearLayout>
正在初始化(在 OnCreate
和 OnActivityResult
之后)
private void initActivity() {
imageRoot.setVisibility(ImageView.INVISIBLE);
imageService.setVisibility(ImageView.INVISIBLE);
progRoot.setVisibility(ImageView.VISIBLE);
progService.setVisibility(ImageView.VISIBLE);
textRoot.setText("checking for root..."); //TODO
textService.setText("checking for service..."); //TODO
layoutInfo.setVisibility(LinearLayout.GONE);
setResult(Activity.RESULT_CANCELED);
CheckForRoot checkRootTask = new CheckForRoot();
checkRootTask.execute(AppName.valueOf(getIntent().getStringExtra(APPNAME)));
}
您是否知道问题的原因可能是什么?
最佳答案
好的,我通过更改 FrameLayout
的
android:layout_height="fill_parent"
到
android:layout_height="48dip"
不过,我不知道为什么会这样 - 如果您知道原因,请告诉我!
关于android - 重新加载 Activity 后 ProgressBar 看起来很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9329734/