使用比率将图像添加到布局中的一行

时间:2013-10-01 12:03:09

标签: android

我正在做一个Android应用程序,其中的图像位于彼此之外, 每个图像都有自己的宽度,我想在一行中添加这些图像以适应屏幕宽度, 每个人的比例相同 我编写代码来添加此图像,但仍然知道如何以编程方式设置宽度

    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,但由于屏幕宽度已完成,因此未显示第三图像 任何帮助!! 谢谢:))

2 个答案:

答案 0 :(得分:0)

您必须使用权重参数才能执行此操作。

尝试以下代码:

   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));

答案 1 :(得分:0)

使用“布局参数”在运行时设置视图的高度和宽度。 像这样

  LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(50, 50);
    view .setLayoutParams(layoutParams);