如何通过java代码在android中将布局中心化为垂直?
朋友们 我想设置布局的android:layout\u centerVertical=“true”属性 通过java编写的一个图像代码 有谁能指导我如何做到这一点。这是我的密码如何通过java代码在android中将布局中心化为垂直?,android,Android,朋友们 我想设置布局的android:layout\u centerVertical=“true”属性 通过java编写的一个图像代码 有谁能指导我如何做到这一点。这是我的密码 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); params.height = (int)totalHeight; im
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
params.height = (int)totalHeight;
img.setLayoutParams(params);
我试过使用setScaleType(ScaleType.FIT_CENTER),但没有用
任何帮助都将受到感谢 如果我错了,请纠正我的错误,但这听起来像是在试图设置布局内部图像的对齐方式(或位置方向)?为此,需要设置包含对齐视图的布局的重力特性
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageView imageView = new ImageView(this);
imageView.setLayoutParams(params);
imageView.setImageBitmap(bitmap);
layout.setGravity(Gravity.CENTER_VERTICAL | Gravity.TOP);
layout.addView(imageView);
在本例中,我以编程方式将图像添加到布局资源中的RelativeLayout,添加ImageView,并将其对齐,以便将其放置在顶部垂直中心位置 在新的SDK中没有重力。垂直中心,但是你可以用
layout.setGravity(Gravity.CENTER)
试试这个代码
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams
((int) LayoutParams.WRAP_CONTENT, (int) LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
img.setLayoutParams(params);
我更喜欢这个答案,因为它不会影响父视图的任何其他子视图。这比RelativeLayout中接受的答案要好!