美文网首页
Rg.Popup-Xamarin Forms使用教程

Rg.Popup-Xamarin Forms使用教程

作者: 本大少_ | 来源:发表于2017-06-06 23:53 被阅读0次

这是一个增强popup的插件,这里只讲用法,不讲原理。
第一步:装Nuget包,在Pcl项目中搜索"Rg.Plugins.Popup"作者是:Kirill Lyubimov,其他项目不需要装。(装Nuget教程
第二步:创建popup页面(就是弹出显示的那个页面)
第三步:使用PopupNavigation类的几个导航方法。

好,知道了基本步骤之后就开始教程。
第一步应该都知道怎么操作,不多讲了。

重点讲第二步:
第二步内容比较多,我们一个一个来操作。

(1) 新建一个项目叫Demo(跨平台项目)

(2) 创建一个Popup的Page

新建项:——类型选:Forms Blank Content Page Xaml ,取名为DemoPopupPage吧。

(3)在DemoPopupPage.Xaml页面里面必须这样写

<?xml version="1.0" encoding="utf-8" ?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
             xmlns:animations="clr-namespace:Rg.Plugins.Popup.Animations;assembly=Rg.Plugins.Popup"
             x:Class="Demo.DemoPopupPage">

 <!--代码块1-->

</pages:PopupPage>

下面是“代码块1”:

  <pages:PopupPage.Animation>
    <animations:ScaleAnimation
      PositionIn="Top"
      PositionOut="Center"
      ScaleIn="1"
      ScaleOut="0.7"
      DurationIn="700"
      EasingIn="BounceOut"/>
  </pages:PopupPage.Animation>
<!--布局-->

对上面的代码稍作解释:

animations:ScaleAnimation表示使用缩放动画
对于PositionIn/PositionOut属性

表示Popup从页面的哪个方位进入/弹出。它有:
Center,Left,Right,Top,Bottom四个可以选,它的类型是MoveAnimationOptions,它是一个枚举。

关于PositionIn/PositionOut

表示Popup出现/消失动画的持续时间

关于ScaleIn/ScaleOut

表示出现/消失动画执行完毕后渲染Popup的时间

关于EasingIn

表示动画的特性。一共有
* Linear;   线性变换。
* SinOut;   平滑减速,就是慢慢变慢
* SinIn;    平稳加速,缓缓变快
* SinInOut; 加速进出,Popup出现和消失都会加速
* CubicIn;  慢慢开始加速,加速度不定的加速。
* CubicOut; 开始快速减速。,加速度不定的减速。
* CubicInOut加速减速。 一般选择。
* BounceOut;弹跳3次,静止在目的地
* BounceIn; 弹跳2次,然后静止在目的地
* SpringIn;不知道怎么解释,自己测试吧
* SpringOut;跟BounceIn有些类似,但是更有柔软性

Ps:这些属性在不同的动画类型展示出来的效果是不一样的。这些属性更像形容词,套到这里的缩放动画就是:线性变化的缩放动画

Ok,其他动画也大同小异。然后到这里
这里没有什么太大的问题。
要注意2个点,第一层布局必须是StackLayout,Grid这类布局,然后第二层布局一定是Frame(为了不把背景全部盖住),再下一级的布局跟正常的布局是一样的没有区别。
示例代码:

    <StackLayout VerticalOptions="Center" HorizontalOptions="Center">
        <Frame BackgroundColor="Silver">
            <StackLayout Spacing="20">
                <ListView x:Name="ListView">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <ViewCell>
                                <StackLayout Orientation="Horizontal">
                                    <Label Text="{Binding Briefing}"></Label>
                                    <Label Text="{Binding Color}"></Label>
                                    <Label Text="{Binding Composition}"></Label>
                                </StackLayout>
                            </ViewCell>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
                <Label Text="??"></Label>
            </StackLayout>
        </Frame>
    </StackLayout>

Ps:StackLayout 的VerticalOptions="Center" HorizontalOptions="Center"表示这个Popup会在屏幕中间,修改可以出现在其他的地方。

自定义动画:
有空再更

相关文章

网友评论

      本文标题:Rg.Popup-Xamarin Forms使用教程

      本文链接:https://www.haomeiwen.com/subject/dmcnfxtx.html