我在线性布局中的xml中有两个imageview。之后我有了TouchEvent的viewfilpper.in MotionEvent.ACTION_UP我正在改变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));
通过上述陈述我的问题没有解决
答案 0 :(得分:1)
我认为问题在于,当你调用getLayoutParams()
时,你会收到不可变的param对象。考虑setLayoutParamams(new LayoutParams(...))