ProgressBar
当我按下按钮时,我想在我的应用程序中显示。
问题是我不想使用ProgressDialog因为我不想在对话框中使用微调器。我只想显示微调器,因此我只想显示ProgressBar。
我想以编程方式执行此操作。
ProgressBar
当我按下按钮时,我想在我的应用程序中显示。
问题是我不想使用ProgressDialog因为我不想在对话框中使用微调器。我只想显示微调器,因此我只想显示ProgressBar。
我想以编程方式执行此操作。
将此添加到您的布局中。
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="invisible"></ProgressBar>
在你的javacode中,在你的活动中使用下面给出的代码并根据要求进行相应的修改
ProgressBar viewProgressBar;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
viewProgressBar = (ProgressBar)findViewById(R.id.progressBar1);
Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
viewProgressBar.setVisibility(View.VISIBLE);
// Your code follows here
}
});
}
当你想隐藏它时,只需使用
viewProgressBar.setVisibility(View.INVISIBLE);
您可以将 Spinner 放入您的布局中并为其赋予以下属性:
android:visibility="gone"
或者
android:visibility="invisible"
单击按钮时,使用View.setVisibility()将可见性更改为可见。动作完成后,再次隐藏即可。
为此,您需要为您的活动创建两个重叠的容器。一个容器将包含您的活动视图,默认情况下可见,第二个容器将包含中心的微调器,背景透明,默认情况下它的可见性将消失。
现在要创建这样的重叠效果,您需要将两个容器都放在 FrameLayout 中。
注意:这里的容器是指 ViewGroups,如 LinearLayout、RelativeLayout 等。
<FrameLayout>
<LinearLayout
android:id="@+id/viewsContainer"
android:visibility="visible">
...
...
</LinearLayout>
<LinearLayout
android:id="@+id/spinnerContainer"
android:visibility="gone"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000">
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</FrameLayout>
我希望这将有所帮助。随意讨论。
如果这就是你想要的,你应该使用ProgressBar视图而不是尝试使用 ProgressDialog。
您可以做的是声明您的活动/片段的布局与 ProgressBar 已经定位,然后给它一个可见性已消失(View.GONE)。然后在您的代码中,单击您的按钮会将可见性更改为可见(View.VISIBLE)。
您还可以通过编程方式声明 ProgressBar,这应该会给您带来与使用 XML 布局相同的效果。