Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java 如何以编程方式使进度条在布局中居中?_Java_Android_Listview_Progress Bar_Android Linearlayout - Fatal编程技术网

Java 如何以编程方式使进度条在布局中居中?

Java 如何以编程方式使进度条在布局中居中?,java,android,listview,progress-bar,android-linearlayout,Java,Android,Listview,Progress Bar,Android Linearlayout,我想在代码中以编程方式将进度条居中。这是我的密码: LinearLayout streamLayout = new LinearLayout(this); streamLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); streamLayout.setOrientation(LinearLayout.VERT

我想在代码中以编程方式将进度条居中。这是我的密码:

  LinearLayout streamLayout = new LinearLayout(this);
            streamLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
            streamLayout.setOrientation(LinearLayout.VERTICAL);
            streamLayout.setGravity(Gravity.CENTER);

            LinearLayout newsLayout = new LinearLayout(this);
            streamLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
            streamLayout.setOrientation(LinearLayout.VERTICAL);
            streamLayout.setGravity(Gravity.CENTER);

            mSwipeView.addView(streamLayout);
            mSwipeView.addView(newsLayout);
            mSwipeView.addView(new LinearLayout(this));

            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(0)).addView(streamListView);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(0)).addView(streamProgressBar);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(1)).addView(newsListView);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(1)).addView(newsProgressBar);
            ((LinearLayout) mSwipeView.getChildContainer().getChildAt(2)).addView(chartImageView);

如何使进度条在布局中垂直居中,水平居中?

尝试使用LinearLayout.layoutParams并将其设置为视图。它们包含可以设置为gravity.CENTER或类似的重力场


希望有帮助:)

在什么中心?屏幕,布局?我相信他指的是布局中的水平中心。是的,我指的是布局的水平中心和垂直中心使用链接中的引用更新了我的代码。我可以让它水平居中显示,但我也希望它垂直居中。我怎样才能做到这一点?你不能在一个线性布局。您需要使用权重或使用相对布局。当你在线性布局中居中时,它只是水平居中。解决方法是使包装器线性布局大于包装视图,并使视图成为重心。在以编程方式添加它们之前,您还可以在Xml tester布局中尝试这一点。或者甚至制作xml布局,只是用一个布局充气器充气,这似乎是一种更容易的方法。这在进度条上真的有效吗?还是只是为了图像?
View.setScaleType(ScaleType.CENTER_INSIDE);// or fitCenter