在 Android 中以编程方式居中 ProgressBar [英] Centering ProgressBar Programmatically in Android
本文介绍了在 Android 中以编程方式居中 ProgressBar的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用以下内容以编程方式将 ProgressBar
居中:
I'm trying to center a ProgressBar
programmatically using the following:
ViewGroup layout = (ViewGroup) findViewById(android.R.id.content).getRootView();
progressBar = newProgressBar(SignInActivity.this,null,android.R.attr.progressBarStyleLarge);
progressBar.setIndeterminate(true);
progressBar.setVisibility(View.VISIBLE);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,100);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
layout.addView(progressBar,params);
大小设置似乎工作正常,但 ProgressBar
不在现有布局的中心(由具有相对布局的 xml 定义).这里有什么明显的问题吗?
The size setting seems to work okay, but the ProgressBar
doesn't center in the existing layout (defined by xml with a relative layout). Is there something obviously wrong here?
XML 如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".test"
android:typeface="monospace">
</RelativeLayout>
即它只是一个空的相对布局来测试,看看我是否可以让它以编程方式添加进度条.
i.e. it's just an empty relative layout to test with and see if I can get it to programmatically add a progress bar.
谢谢.
推荐答案
如果你想以编程方式来做,你可以像下面这样做:
If you want to do it programatically you can do it like below:
RelativeLayout layout = new RelativeLayout(this);
progressBar = new ProgressBar(SignInActivity.this,null,android.R.attr.progressBarStyleLarge);
progressBar.setIndeterminate(true);
progressBar.setVisibility(View.VISIBLE);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100,100);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
layout.addView(progressBar,params);
setContentView(layout);
这篇关于在 Android 中以编程方式居中 ProgressBar的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文