0

我在线性布局中的 xml 中有两个 imageview。之后我有 viewfilpper.in MotionEvent.ACTION_UP of TouchEvent 我将 imageview 的高度更改为

((ImageView)findViewById(R.id.imgview1)).getLayoutParams().height=23;   
((ImageView)findViewById(R.id.imgview1)).getLayoutParams().width=23;
((ImageView)findViewById(R.id.imgview2)).getLayoutParams().height=LayoutParams.WRAP_CONTENT;
((ImageView)findViewById(R.id.imgview2)).getLayoutParams().width=LayoutParams.WRAP_CONTENT;

但是当我触摸任何editText字段时,就会应用更改

((ImageView)findViewById(R.id.imgview2)).invalidate();
((ImageView)findViewById(R.id.imgview2)).refreshDrawableState();

这也行不通

((ImageView)findViewById(R.id.imgview1)).setLayoutParams(new LayoutParams(23,23));
((ImageView)findViewById(R.id.imgview2)).setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

通过以上陈述我的问题没有解决

4

1 回答 1

1

我认为问题在于,当您致电时,getLayoutParams()您会收到不可变的参数对象。考虑类似的东西setLayoutParamams(new LayoutParams(...))

于 2011-11-03T14:56:39.090 回答