gpt4 book ai didi

android - 以编程方式将 ProgressBar 放在屏幕的中心

转载 作者:行者123 更新时间:2023-11-29 17:53:23 25 4
gpt4 key购买 nike

我正在创建一个扩展 LinearLayout 的类。因为我正在尝试以编程方式进行布局。这是我到目前为止所做的:

RelativeLayout.LayoutParams parentParam = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);

this.setLayoutParams(parentParam);
this.setOrientation(LinearLayout.VERTICAL);

WebView webView = new WebView(context);
LinearLayout.LayoutParams webViewParam = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);

webView.setLayoutParams(webViewParam);
this.addView(webView);

pb = new ProgressBar(context);
LinearLayout.LayoutParams pbParam = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
pbParam.gravity = Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL;
pb.setLayoutParams(pbParam);
webView.addView(pb);

我的所有东西都工作正常,WebViewProgressBar 是可见的并在那里执行相应的任务,但我正在尝试将 ProgressBar在屏幕的 CENTER 中。

我在这里错过了什么。任何类型的输入都将不胜感激。

编辑:现在的输出看起来像这样:

enter image description here

最佳答案

这是我将 ProgressBar 置于中心所做的工作。为了我的目的,我使用了 ScrollView。这是我使用的代码:

RelativeLayout.LayoutParams parentParam = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT);

this.setLayoutParams(parentParam);
this.setOrientation(LinearLayout.VERTICAL);

scrollView = new ScrollView(context);
scrollView.setLayoutParams(new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT,
Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL));
scrollView.setFillViewport(true);

scrollView.setBackgroundColor(Color.TRANSPARENT);

pb = new ProgressBar(context);
LinearLayout.LayoutParams pbParam = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
pb.setLayoutParams(pbParam);

RelativeLayout rel = new RelativeLayout(context);
RelativeLayout.LayoutParams relParam = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
relParam.addRule(RelativeLayout.CENTER_IN_PARENT);
rel.addView(pb, relParam);

scrollView.addView(rel);

webView = new WebView(context);
LinearLayout.LayoutParams webViewParam = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
webViewParam.gravity = Gravity.CENTER_HORIZONTAL
| Gravity.CENTER_VERTICAL;
webView.setLayoutParams(webViewParam);

this.addView(scrollView);

this.addView(webView);

希望,这会对正在尝试同样事情的其他人有所帮助。

关于android - 以编程方式将 ProgressBar 放在屏幕的中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378225/

25 4 0