我有一個九貼圖像,它在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