我在其他主题中找不到我的问题的答案。
我有一个带有背景可绘制的ImageView。这个ImageView上有一个onTouchListener,可以拖动它。我现在想要将ImageResource添加到此视图(以及填充)。图像应始终位于(方形)ImageView的中间。现在的问题是:如果我将整个ImageView拖出显示器,ImageView中的Image开始缩小/调整大小。当我将它拖回窗口时,它会再次开始增长到允许的大小(因为有一个填充)。
如何在拖出窗口时阻止调整此图像的大小?
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
ImageView i = new ImageView(this);
i.setPadding(10);
i.setImageResource(R.drawable.image);
i.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg));
i.setPositionAndSize(0, 0); // creates layout params and positions
// it with margins in relative layout
i.setOnTouchListener(touch);
layout.addView(i);
答案 0 :(得分:0)
如果此相对布局在layout_width或height上具有WrapContent属性,则这些属性将动态更改。
添加视图时,您正在修改其内容,依此类推。
您需要将布局属性设置为此imageView。您要设置的positionAndSize必须在布局参数的属性中设置:
RelativeLayout.LayoutParams lyp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
ImageView i = new ImageView(this);
(the properties you want the parent of the view (layout) to receive must be setted here in "lyp").
i.setLayoutParams(lyp);
layout.addView(i,lyp);
请记住,如果您在相对布局上添加某些内容,则必须使用这些属性。
设计相对布局以使内容适合FIXED高度和宽度,因此请尝试在布局中修复这些属性。
希望确实有所帮助!!