我需要在我的应用程序中复制一个ImageView,并在用户需要时更改它的大小。我在这做的是:
"aaData" : [
[
"person_id" : "888888",
"ID" : "999999",
],
[
"person_id" : "8888889",
"ID" : "9999990",
]
]
它不起作用!意味着当我增加视图的大小时,内部的图像不会被拉伸。
但是当我用public void testClick(View view)
{
ImageView im = new ImageView(this);
im.setImageDrawable(((ImageView) view).getDrawable());
Point size = getSize();//size of the window
al.addView(im, new AbsoluteLayout.LayoutParams(view.getWidth(), view.getHeight(), size.x / 2, size.y / 2));
im.setScaleType(ImageView.ScaleType.FIT_XY);
im.setOnTouchListener(touchListener);
}
public void changeSize()
{
...
view.setLayoutParams(new AbsoluteLayout.LayoutParams(width + deltaX, height + deltaY, params.x, params.y));
}
更改行im.setImageDrawable(((ImageView) view).getDrawable());
时,会发生奇怪的事情
有用!
任何想法?
我不想使用im.setImageResource(R.drawable.my_image);
,因为我需要复制所点击视图的drawable,而不是资源中的静态视图。
编辑:当我在Galaxy Note 6中使用它时(我认为它是Android 5)它可以工作。但是在我的Android 4.1.2设备上,它没有!
编辑2:我用过
setImageResource
并且有效!
答案 0 :(得分:0)
要解决您的问题,请使用以下代码更改ImageView
尺寸
mImageView.getLayoutParams().width = myWidth;
mImageView.getLayoutParams().height = myHeight;
然后致电
mImageView.requestLayout();
让尺寸变化生效。
我相信这可以解决你的问题。