设置LayoutParams两次,没有效果?

时间:2012-03-08 11:26:19

标签: android xamarin.android layoutparams

我在Monodroid(C#)中这样做,但我相信大多数人都会理解。我需要在intervalls中移动某个textview。第一个与其父对齐的对齐工作正常。然后我等待4秒钟,并希望它与父母对齐,这根本不起作用。它保持不变。怎么样?

示例(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 个答案:

答案 0 :(得分:1)

设置新的布局参数后,您需要在视图上调用requestLayout()才能生效。

  

<强> requestLayout()

     

在更改了布局无效的内容时调用此方法   这种观点。这将安排视图树的布局传递。

所以你应该致电:

textViewToAnimate.requestLayout();