我有一个九贴图像,它在activity.onCreate()期间为我的textview设置了背景。 Textview具有高度+宽度的WRAP_CONTENT布局。它是从代码创建的,而不是从XML创建的。Android:调用textview.setBackgroundResource两次可更改文本视图大小
_btnCurrent.setBackgroundResource(R.drawable.button_menu_off);
这工作正常。 我有其他九修补的图像,相同的大小,唯一的区别是它的颜色。 现在,如果稍后使用其他图像调用setBackgroundResource,它将增加textview的高度,几乎翻倍。这其他呼叫从textview.onClick()
_btnCurrent.setBackgroundResource(R.drawable.button_menu_on);
如果我再次调用它(在TextView中再次单击),没有效果发生。这很好,我想这也是第一次点击发生的情况。 所以:
Activity.onCreate()
{
btnCurrent= new TextView(this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
btnCurrent.setBackgroundResource(R.drawable.button_menu_hs_off);
btnCurrent.setPadding(15, 5, 15, 5);
btnCurrent.setGravity(Gravity.CENTER);
btnCurrent.setText(GetString(id));
btnCurrent.setOnClickListener(this);
}
onClick()
{
_btnCurrent.setBackgroundResource(R.drawable.button_menu_on);
}
onCreate(); // -> called by Android during startup -> OK
....
onClick(); // called when user clicks on it -> btnCurrent has double height
....
onClick(); // called when user clicks again -> btnCurrent has same double height, no change in size
....
onClick(); // called when user clicks again -> btnCurrent has same double height, no change in size
我试图设置_btnHSCurrent.setBackgroundResource(0);在设置新图像之前,但没有帮助。
为什么会发生这种情况?
@Edit
我所做的: _btnCurrent.setBackgroundResource(R.drawable.button_menu_off);在Activity.onCreate()期间。
然后在textview.onClick(),I拨打:
_btnCurrent.setBackgroundResource(R.drawable.button_menu_on);
这会使身高增加一倍。再次单击再次,不会再改变尺寸,仅在第一次点击。
你介意把这里放到两张9贴图片上吗? – 2013-04-07 11:16:11
似乎你的问题与第二张图片(button_menu_on) – 2013-04-07 11:24:08
你可以显示你的textview的XML部分? – 2013-04-07 11:28:28