Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何以编程方式创建ProgressBar?_Android_Android Progressbar - Fatal编程技术网

Android 如何以编程方式创建ProgressBar?

Android 如何以编程方式创建ProgressBar?,android,android-progressbar,Android,Android Progressbar,我的应用程序需要以编程方式创建一个小的ProgressBar。 ProgressBar没有设置样式的方法(我想要一个小的 ProgressBar)。构造函数可以采用属性集,但它是 接口,并要求我实现一组函数。有办法吗 要将ProgressBar设置为小样式?(我无法使用XML创建 ProgressBar)在res/layout目录中创建一个布局xml文件,其中包含所需的所有属性: <?xml version="1.0" encoding="utf-8"?> <ProgressB

我的应用程序需要以编程方式创建一个小的
ProgressBar
ProgressBar
没有设置样式的方法(我想要一个小的
ProgressBar
)。构造函数可以采用
属性集
,但它是 接口,并要求我实现一组函数。有办法吗 要将
ProgressBar
设置为小样式?(我无法使用XML创建
ProgressBar

在res/layout目录中创建一个布局xml文件,其中包含所需的所有属性:

<?xml version="1.0" encoding="utf-8"?>
<ProgressBar
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" ... />
其中R.layout.small\进度\栏链接到布局xml文件


您仍然不能使用xml文件吗?

大多数情况下,如果您手动提供
属性集,则必须使用Android的属性集之一。幸运的是,他们已经公开了描述一个小进度条的属性集。使用此代码:

progressBar = new ProgressBar(activity, null, android.R.attr.progressBarStyleSmall);

Activity.java

  progressBar = (ProgressBar) findViewById(R.id.progressbar);
 `progressBar.setVisibility(View.VISIBLE);`// To Show ProgressBar 
 `progressBar.setVisibility(View.INVISIBLE);` //To Hide ProgressBar

检查此处

这会使progressbar看起来像黄色和旧的,而不是淡蓝色(新的)。@kilaka仅供将来参考,将android.R.attr.progressBarStyleSmall更改为android.R.attr.progressBarStyleHorizontal作为新版本:)@BabyGorilla,progressBarStyleHorizontal在所有android版本上都能工作吗@Neil Traft我试过这个密码,但没用。那么,我可以调用其他任何东西来显示它吗?@AbdulhamidHaiban您必须将您的
进度条
添加到
视图组
,就像
线性布局
,然后只有它会出现在屏幕上。您可以将您的内容视图设置为该进度条,而不是手动膨胀。一旦您的数据提交,您可以更改布局。不确定,但是progressBar在使其不可见后是否总是在后台运行(只是在UI中隐藏)?@Shambhu hi,,,是的,它将在后台运行…但是如果您使View.GONE,它将不会在后台运行,也不会在前台运行,因为对象已被删除…我希望这对您有所帮助
  progressBar = (ProgressBar) findViewById(R.id.progressbar);
 `progressBar.setVisibility(View.VISIBLE);`// To Show ProgressBar 
 `progressBar.setVisibility(View.INVISIBLE);` //To Hide ProgressBar