为什么不应用ImageView高度?

时间:2011-11-03 14:53:55

标签: android android-view

我在线性布局中的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));

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

1 个答案:

答案 0 :(得分:1)

我认为问题在于,当你调用getLayoutParams()时,你会收到不可变的param对象。考虑setLayoutParamams(new LayoutParams(...))

之类的内容