Android 按比例将图像添加到布局中的一行
我正在做一个安卓应用程序,它的图像彼此相隔, 每个图像都有自己的宽度,我想将这些图像添加到一行中以适应屏幕宽度, 每个人的比例相同 我编写了代码来添加这些图像,但仍然不知道如何以编程方式设置宽度Android 按比例将图像添加到布局中的一行,android,Android,我正在做一个安卓应用程序,它的图像彼此相隔, 每个图像都有自己的宽度,我想将这些图像添加到一行中以适应屏幕宽度, 每个人的比例相同 我编写了代码来添加这些图像,但仍然不知道如何以编程方式设置宽度 ImageView view = new ImageView(this); view.setImageResource(R.drawable.a1); ImageView view1 = new ImageView(this); view1.setImageResour
ImageView view = new ImageView(this);
view.setImageResource(R.drawable.a1);
ImageView view1 = new ImageView(this);
view1.setImageResource(R.drawable.a2);
ImageView view2 = new ImageView(this);
view2.setImageResource(R.drawable.a3);
LinearLayout my_root = (LinearLayout) findViewById(R.id.root_layout);
LinearLayout child = new LinearLayout(this);
child.setOrientation(LinearLayout.HORIZONTAL);
child.addView(view);
child.addView(view1);
child.addView(view2);
my_root.addView(child);
只有图像1和2出现,但第三个没有出现,因为屏幕宽度已完成
任何帮助!!
谢谢:)您必须使用权重参数才能执行此操作 请尝试以下代码:
ImageView view = new ImageView(this);
view.setImageResource(R.drawable.a1);
view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
ImageView view1 = new ImageView(this);
view1.setImageResource(R.drawable.a2);
view1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
ImageView view2 = new ImageView(this);
view2.setImageResource(R.drawable.a3);
view2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f));
使用布局参数在运行时设置视图的高度和宽度。 像这样
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(50, 50);
view .setLayoutParams(layoutParams);
谢谢你的工作,但不是所有的图像都有相同的比例@pratikforexample:my display width是480,第一个图像是315,第二个图像是200,第三个图像是190。这些图像超过了480。我需要函数根据屏幕宽度重新设置图像宽度,但当您为每个图像赋予权重=1时,它将在每个设备上为每个图像占用相同的空间。因此,最好给每张图片赋予权重=1。如果你发现答案有用,请接受并投票,这样其他人可以从中受益。