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。如果你发现答案有用,请接受并投票,这样其他人可以从中受益。