ProgressBar节目

时间:2012-10-03 09:50:13

标签: android android-layout

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

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

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

4 个答案:

答案 0 :(得分:2)

将此添加到您的布局。

<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);

答案 1 :(得分:1)

您可以将Spinner放入布局中,并为其指定以下属性:

android:visibility="gone"

android:visibility="invisible"

点击该按钮后,使用visible将可见性更改为View.setVisibility()。操作完成后,再次隐藏它。

答案 2 :(得分:1)

为实现此目的,您需要为活动创建两个重叠的容器。一个容器将包含您的活动视图,默认情况下将可见,第二个容器将包含中心的微调器,背景透明,默认情况下消失
现在要创建像这样的重叠效果,你需要将两个容器放在FrameLayout中。
注意:这里的容器是指像LinearLayout,RelativeLayout等ViewGroups。

<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>

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

答案 3 :(得分:0)

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

您可以做的是在ProgressBar已定位的情况下声明您的活动/片段的布局,然后为其提供已消失的可见性(View.GONE)。然后在您的代码中,单击您的按钮会将可见性更改为可见(View.VISIBLE)。

您也可以通过编程方式声明ProgressBar,它可以提供与使用XML布局相同的效果。