SkinUI入门教程

SkinUI入门教程


6.2 切换动画

<p>类【CSwitchAnimationHost】提供切换动画的能力。</p> <p>可以给布局文件的【SwitchAnimationHost】节点,加上动画属性【Animation=&quot;xxx&quot;】。</p> <p>SkinUI内置以下两种切换动画:</p> <ul> <li>LeftRightSlide动画,切换时,内容左右滑动;</li> <li>TopBottomSlide动画,切换时,内容上下滑动。</li> </ul> <h2>相关方法</h2> <pre><code class="language-c">void ShowView(LONG nId); void ShowView(CSkinView* pView);</code></pre> <h2>请看下面的示例</h2> <h3>1 LeftRightSlide动画</h3> <h4>效果图</h4> <p><img src="http://www.skinui.cn/doc/img/6/4/1.png" alt="LeftRightSlide动画1" /> <img src="http://www.skinui.cn/doc/img/6/4/2.png" alt="LeftRightSlide动画2" /> <img src="http://www.skinui.cn/doc/img/6/4/3.png" alt="LeftRightSlide动画3" /></p> <h4>布局文件</h4> <pre><code class="language-xml">&amp;lt;SkinDialog DefaultWidth=&amp;quot;400&amp;quot; DefaultHeight=&amp;quot;300&amp;quot; SysButton=&amp;quot;CLOSE&amp;quot; Icon=&amp;quot;128&amp;quot; Caption=&amp;quot;IDS_SWITCH_ANIMATION1&amp;quot; Animation=&amp;quot;SizeChange&amp;quot; ThemeHeight=&amp;quot;65&amp;quot;&amp;gt; &amp;lt;SkinAnimationGroup Id=&amp;quot;100&amp;quot; LayoutWidth=&amp;quot;210&amp;quot; LayoutHeight=&amp;quot;30&amp;quot; AlignParentLeft=&amp;quot;0&amp;quot; AlignParentTop=&amp;quot;35&amp;quot;&amp;gt; &amp;lt;SkinRelativeLayout LayoutWidth=&amp;quot;FillParent&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot;&amp;gt; &amp;lt;SkinRadioButton Id=&amp;quot;101&amp;quot; LayoutWidth=&amp;quot;100&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; ChildText1=&amp;quot;TabButton1&amp;quot; Image=&amp;quot;TabButton.png&amp;quot; Layout=&amp;quot;TabButton.xml&amp;quot; BindView=&amp;quot;1100&amp;quot; AlignParentLeft=&amp;quot;0&amp;quot; Checked=&amp;quot;true&amp;quot;/&amp;gt; &amp;lt;SkinRadioButton Id=&amp;quot;102&amp;quot; LayoutWidth=&amp;quot;100&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; ChildText1=&amp;quot;TabButton2&amp;quot; Image=&amp;quot;TabButton.png&amp;quot; Layout=&amp;quot;TabButton.xml&amp;quot; BindView=&amp;quot;1200&amp;quot; AlignParentLeft=&amp;quot;100&amp;quot; Radius=&amp;quot;5&amp;quot;/&amp;gt; &amp;lt;/SkinRelativeLayout&amp;gt; &amp;lt;/SkinAnimationGroup&amp;gt; &amp;lt;SwitchAnimationHost Id=&amp;quot;1000&amp;quot; AlignParentLeft=&amp;quot;15&amp;quot; ToBottomOf=&amp;quot;100,5&amp;quot; AlignParentRight=&amp;quot;15&amp;quot; AlignParentBottom=&amp;quot;15&amp;quot; Animation=&amp;quot;LeftRightSlide&amp;quot;&amp;gt; &amp;lt;SkinRelativeLayout Id=&amp;quot;1100&amp;quot; LayoutWidth=&amp;quot;FillParent&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot;&amp;gt; &amp;lt;/SkinRelativeLayout&amp;gt; &amp;lt;SkinRelativeLayout Id=&amp;quot;1200&amp;quot; LayoutWidth=&amp;quot;FillParent&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt; &amp;lt;/SkinRelativeLayout&amp;gt; &amp;lt;/SwitchAnimationHost&amp;gt; &amp;lt;/SkinDialog&amp;gt;</code></pre> <p>以上的代码,当选中SkinRadioButton时,会以动画的方式显示属性BindView绑定的SkinRelativeLayout。</p> <h3>2 TopBottomSlide动画</h3> <h4>效果图</h4> <p><img src="http://www.skinui.cn/doc/img/6/5/1.png" alt="TopBottomSlide动画1" /> <img src="http://www.skinui.cn/doc/img/6/5/2.png" alt="TopBottomSlide动画2" /> <img src="http://www.skinui.cn/doc/img/6/5/3.png" alt="TopBottomSlide动画3" /></p> <h4>布局文件</h4> <pre><code class="language-xml">&amp;lt;SkinDialog DefaultWidth=&amp;quot;400&amp;quot; DefaultHeight=&amp;quot;300&amp;quot; SysButton=&amp;quot;CLOSE&amp;quot; Icon=&amp;quot;128&amp;quot; Caption=&amp;quot;IDS_SWITCH_ANIMATION2&amp;quot; Animation=&amp;quot;SizeChange&amp;quot; ThemeHeight=&amp;quot;65&amp;quot;&amp;gt; &amp;lt;SkinAnimationGroup Id=&amp;quot;100&amp;quot; LayoutWidth=&amp;quot;210&amp;quot; LayoutHeight=&amp;quot;30&amp;quot; AlignParentLeft=&amp;quot;0&amp;quot; AlignParentTop=&amp;quot;35&amp;quot;&amp;gt; &amp;lt;SkinRadioButton Id=&amp;quot;101&amp;quot; LayoutWidth=&amp;quot;100&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; ChildText1=&amp;quot;TabButton1&amp;quot; Image=&amp;quot;TabButton.png&amp;quot; Layout=&amp;quot;TabButton.xml&amp;quot; BindView=&amp;quot;1100&amp;quot; AlignParentLeft=&amp;quot;0&amp;quot; Checked=&amp;quot;true&amp;quot;/&amp;gt; &amp;lt;SkinRadioButton Id=&amp;quot;102&amp;quot; LayoutWidth=&amp;quot;100&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; ChildText1=&amp;quot;TabButton2&amp;quot; Image=&amp;quot;TabButton.png&amp;quot; Layout=&amp;quot;TabButton.xml&amp;quot; BindView=&amp;quot;1200&amp;quot; AlignParentLeft=&amp;quot;100&amp;quot; Radius=&amp;quot;5&amp;quot;/&amp;gt; &amp;lt;/SkinAnimationGroup&amp;gt; &amp;lt;SwitchAnimationHost Id=&amp;quot;1000&amp;quot; AlignParentLeft=&amp;quot;15&amp;quot; ToBottomOf=&amp;quot;100,15&amp;quot; AlignParentRight=&amp;quot;15&amp;quot; AlignParentBottom=&amp;quot;15&amp;quot; Animation=&amp;quot;TopBottomSlide&amp;quot;&amp;gt; &amp;lt;SkinRelativeLayout Id=&amp;quot;1100&amp;quot; LayoutWidth=&amp;quot;FillParent&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; Color=&amp;quot;ID_COLOR_RED&amp;quot;&amp;gt; &amp;lt;/SkinRelativeLayout&amp;gt; &amp;lt;SkinRelativeLayout Id=&amp;quot;1200&amp;quot; LayoutWidth=&amp;quot;FillParent&amp;quot; LayoutHeight=&amp;quot;FillParent&amp;quot; Color=&amp;quot;ID_COLOR_GREEN&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt; &amp;lt;/SkinRelativeLayout&amp;gt; &amp;lt;/SwitchAnimationHost&amp;gt; &amp;lt;/SkinDialog&amp;gt;</code></pre> <p>以上的代码,当选中SkinRadioButton时,会以动画的方式显示属性BindView绑定的SkinRelativeLayout。</p>

页面列表

ITEM_HTML