以编程方式创建时未显示Android进度条

时间:2013-02-23 11:13:25

标签: android

我需要在我的应用中显示进度条,但如果我运行则不会显示。我以编程方式创建了进度条。请参考下面的代码,

ProgressBar progressBar = new ProgressBar(CusProgressActivity.this,
null, android.R.attr.progressBarStyleSmall);
progressBar.setVisibility(View.VISIBLE);
progressBar.bringToFront();

以上代码是尝试显示进度条的内容,我不想使用xml文件来显示进度条。我不知道我的代码有什么问题,我需要通过编程方式显示我的活动中的小进展。

2 个答案:

答案 0 :(得分:2)

使用布局并将进度条添加为布局视图,如下所示 -

    RelativeLayout relativeLayout = new RelativeLayout(this);

    ProgressBar pb = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);

    relativeLayout .addView(pb);
    setContentView(relativeLayout);

    pb.setProgress(10);

答案 1 :(得分:1)

您必须将视图设置为活动的内容视图,或者使用ViewGroup.addView将其添加到视图heiarchy以将进度条附加到根视图

public void ViewGroup.addView(View child) 在API级别1中添加

添加子视图。如果尚未在子项上设置布局参数,则会在子项上设置此ViewGroup的默认参数。

注意:不要从draw(android.graphics.Canvas),onDraw(android.graphics.Canvas),dispatchDraw(android.graphics.Canvas)或任何相关方法调用此方法。

参数 child要添加的子视图

public void Activity.setContentView(View view) - 在API级别1中添加

将活动内容设置为显式视图。此视图直接放在活动的视图层次结构中。它本身可以是一个复杂的视图层次结构。调用此方法时,将忽略指定视图的布局参数。默认情况下,视图的宽度和高度都设置为MATCH_PARENT。要使用您自己的布局参数,请调用setContentView(android.view.View,android.view.ViewGroup.LayoutParams)。 参数 查看要显示的所需内容。