MonoDroid切换视图可见性

时间:2012-01-11 19:55:45

标签: android xamarin.android

我希望能够通过单击按钮来显示或隐藏桌面视图。我知道如何设置视图的可见性,而不是如何来回切换。

编辑:另一个似乎适用于其他需要执行此操作的选项:

        showHide.Click += delegate 
        {
            if (otherEquip.Visibility == ViewStates.Visible)
            {
                otherEquip.Visibility = ViewStates.Invisible;
            }
            else
            {
                otherEquip.Visibility = ViewStates.Visible;
            }
        };

1 个答案:

答案 0 :(得分:1)

我知道没有内置的切换方法。视图可以具有三种可见性状态 - 可见,不可见,消失 - 因此“切换”在那里不起作用。例如,如果要在不可见和可见之间切换,可以执行以下操作:

view.Visibility = view.Visibility == ViewStates.Invisible
                      ? ViewStates.Invisible
                      : ViewStates.Visible;

或者如果你想让它更可重复使用,你可以把它放在扩展方法中:

public static class ViewExtensions
{
    public static void ToggleVisibility(this View view)
    {
        view.Visibility = view.Visibility == ViewStates.Invisible
                              ? ViewStates.Invisible
                              : ViewStates.Visible;
    }
}

然后调用视图:

view.ToggleVisibility();