2012-03-08 78 views
1

我在Monodroid(C#)中這樣做,但我相信大多數人都能理解。我需要在intervalls中移動某個textview。第一個與父母左對齊的工作正常。然後,我等待4秒鐘,並希望它與父母對齊,這根本沒有任何效果。它保持離開。怎麼來的?設置LayoutParams兩次,沒有效果?

例(C#)

RelativeLayout.LayoutParams newParams = (RelativeLayout.LayoutParams)textView.LayoutParameters; 
newParams.AddRule(LayoutRules.AlignParentLeft); 
textView.LayoutParameters = newParams; 


System.Threading.Thread.Sleep(4000); 

RelativeLayout.LayoutParams newParams2 =(RelativeLayout.LayoutParams)textView.LayoutParameters; 
newParams2.AddRule(LayoutRules.AlignParentRight); 
textView.LayoutParameters = newParams2; 

非常奇怪,因爲它的作品完美無瑕的第一時間..

回答

1

設置新的佈局參數之後,你需要調用requestLayout()你的觀點採取效應。

requestLayout()

調用此當事情已經改變已經失效這一觀點的佈局 。這將安排視圖樹的佈局傳遞。

所以你應該叫:

textViewToAnimate.requestLayout(); 
+0

都嘗試這和ForceLayout()沒有效果:( – 2012-03-08 11:33:18

+0

你也嘗試'textViewToAnimate.invalidate();' – waqaslam 2012-03-08 11:44:58

+0

可惜是.. – 2012-03-08 12:40:43

相關問題