在Android中不使用XML创建imageview

时间:2013-10-16 09:27:03

标签: android android-imageview

我想以编程方式创建Imageview而不使用XML。有没有办法使用height,width和margin属性创建它。

是否可以使用height,width和margin属性将这样的多个组件添加到屏幕的不同位置?

4 个答案:

答案 0 :(得分:0)

我写了一些你可以使用的代码。它依赖于您的容器是RelativeLayout的事实:

ImageView myImageView = new ImageView(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(width, height);
params.topMargin = myTopMargin;
params.leftMargin = myLeftMargin;

myImageView.setLayoutParams(params);
myImageView.setImageResource(R.id.my_image_resource);

myRelativeLayout.addview(myImageView);

希望这会有所帮助:)

答案 1 :(得分:0)

试试这个..

<强> imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));

 LinearLayout linearLayout= new LinearLayout(this);
            linearLayout.setOrientation(LinearLayout.VERTICAL);

            linearLayout.setLayoutParams(new LayoutParams(
                    LayoutParams.MATCH_PARENT,
                    LayoutParams.MATCH_PARENT));

            //ImageView Setup
            ImageView imageView = new ImageView(this);
            //setting image resource
            imageView.setImageResource(R.drawable.play);
            //setting image position
            imageView.setLayoutParams(new LayoutParams(
    LayoutParams.MATCH_PARENT,
    LayoutParams.WRAP_CONTENT));

//setting image margin
MarginLayoutParams marginParams = new MarginLayoutParams(image.getLayoutParams());
marginParams.setMargins(left_margin, top_margin, right_margin, bottom_margin);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
imageView.setLayoutParams(layoutParams);

            //adding view to layout
            linearLayout.addView(imageView);
            //make visible to program
            setContentView(linearLayout);

希望这会有所帮助..

答案 2 :(得分:0)

使用此:

LinearLayout linearLayout= new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);

        linearLayout.setLayoutParams(new LayoutParams(
                LayoutParams.MATCH_PARENT,
                LayoutParams.MATCH_PARENT));

        //ImageView Setup
        ImageView imageView = new ImageView(this);
        //setting image resource
        imageView.setImageResource(R.drawable.play);
        //setting image position
        imageView.setLayoutParams(new LayoutParams(
        LayoutParams.MATCH_PARENT,
        LayoutParams.WRAP_CONTENT));

        //adding view to layout
        linearLayout.addView(imageView);
        //make visible to program
        setContentView(linearLayout);

答案 3 :(得分:0)

            LinearLayout linearLayout= new LinearLayout(this);
                    linearLayout.setOrientation(LinearLayout.VERTICAL);

                    linearLayout.setLayoutParams(new LayoutParams(
                            LayoutParams.MATCH_PARENT,
                            LayoutParams.MATCH_PARENT));

                    //ImageView Setup
                    ImageView imageView = new ImageView(this);
                    //setting image resource
                    imageView.setImageResource(R.drawable.something);
                    //setting image position
//set the margin to the layoutparams
    LinearLayout.LayoutParams lp = new 
LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,      LinearLayout.LayoutParams.WRAP_CONTENT);
                    lp.setMargins(left, top, right, bottom);
                    imageView.setLayoutParams(lp);

                    //add view to layout
                    linearLayout.addView(imageView);
                    //make visible to program
                    setContentView(linearLayout);