小编Esd*_*eza的帖子

在开发Windows 8 Store应用程序时处理不同的方向

我已经写了几年Android应用程序了,现在我正在开发一个Windows应用商店/ Windows 8应用程序.

我对如何为横向和纵向方向编写不同的屏幕布局感到很困惑.

在Android中,我们所要做的就是编写2个布局,一个用于纵向,另一个用于横向,遵循文件名的一些名称约定,当我们旋转设备时,平台会自动更改屏幕布局.

我一直在谷歌搜索一些解决方案在我的Windows 8应用程序中做同样的事情,我发现所有的是使用Visual State Groups和Visual States的解决方案,在我们旋转时对我们的小部件进行一些修改装置.

例如,要在将设备旋转为纵向时使文本块更改其位置:

<VisualState x:Name="FullScreenPortrait" >
    <Storyboard>
        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Grid.ColumnSpan)" Storyboard.TargetName="GridViewTitle">
            <DiscreteObjectKeyFrame KeyTime="0">
                <DiscreteObjectKeyFrame.Value>
                    <x:Int32>3</x:Int32>
                </DiscreteObjectKeyFrame.Value>
            </DiscreteObjectKeyFrame>
        </ObjectAnimationUsingKeyFrames>
        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="GridViewTitle">
            <DiscreteObjectKeyFrame KeyTime="0">
                <DiscreteObjectKeyFrame.Value>
                    <Thickness>0,10,10,807</Thickness>
                </DiscreteObjectKeyFrame.Value>
            </DiscreteObjectKeyFrame>
        </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>
Run Code Online (Sandbox Code Playgroud)

它对我来说看起来不是很干净和简单,甚至使用Visual Studio拖放小部件来生成代码的方法,我的印象是必须有一些比我正在做的更容易和更清晰的解决方案.

所以我的问题是:是否有更简单的解决方案为每个方向编写XAML布局,或者我是否正确,但很难?

谢谢!

xaml winrt-xaml windows-store-apps

5
推荐指数
1
解决办法
2732
查看次数

标签 统计

windows-store-apps ×1

winrt-xaml ×1

xaml ×1