2

ProgressBar当我按下按钮时,我想在我的应用程序中显示。

问题是我不想使用ProgressDialog因为我不想在对话框中使用微调器。我只想显示微调器,因此我只想显示ProgressBar

我想以编程方式执行此操作。

4

4 回答 4

3

将此添加到您的布局中。

<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);
于 2012-10-03T10:35:04.683 回答
1

您可以将 Spinner 放入您的布局中并为其赋予以下属性:

android:visibility="gone"

或者

android:visibility="invisible"

单击按钮时,使用View.setVisibility()将可见性更改为可见。动作完成后,再次隐藏即可。

于 2012-10-03T09:56:07.000 回答
1

为此,您需要为您的活动创建两个重叠的容器。一个容器将包含您的活动视图,默认情况下可见,第二个容器将包含中心的微调器,背景透明,默认情况下它的可见性将消失
现在要创建这样的重叠效果,您需要将两个容器都放在 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>

我希望这将有所帮助。随意讨论。

于 2012-10-03T11:32:54.460 回答
0

如果这就是你想要的,你应该使用ProgressBar视图而不是尝试使用 ProgressDialog。

您可以做的是声明您的活动/片段的布局与 ProgressBar 已经定位,然后给它一个可见性已消失(View.GONE)。然后在您的代码中,单击您的按钮会将可见性更改为可见(View.VISIBLE)。

您还可以通过编程方式声明 ProgressBar,这应该会给您带来与使用 XML 布局相同的效果。

于 2012-10-03T09:58:47.477 回答