2016-03-08 61 views
0

我对应用程序开发相当陌生。我正在努力的一件事是确保我的应用在不同屏幕尺寸的设备上看起来相同。Windows手机上的自适应设计

这里是我使用的逻辑:

public MainPage() 
    { 
     this.InitializeComponent(); 
     placeUI(); 
    } 

的placeUI()方法是其中I测量的宽度和屏幕的高度的方法。从那里例如,如果我需要从左边10%我的组件,我只是乘以它的X坐标0.1坐标。

我的问题是 - 如果它使UI响应不同屏幕尺寸的标准方式还是有更简单的方法?谢谢!

+0

如果您在XAML中设置了边距,那么很多此类应用程序对于您来说都是“正常工作”,所以这对您而言不起作用? –

+0

例如,当您使用网格时,您可以定义行和列...然后使用高度和宽度的道具,您可以对所有屏幕进行调整。 – sexta13

回答

0

请参阅Define page layouts with XAML了解若干用于响应式设计的技巧。该页面面向的是Universal Windows应用程序(Windows 10),但除了RelativePanel和AdaptiveTriggers外,其他所有内容都适用于Windows Phone 8.1 Runtime应用程序。

如果您只是想要一个轻微响应的设计,例如将项目放置在距离边缘10%的不变的情况下,那么您可以在一个网格控件中设置布局,并将列设置为窗口的10%:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="1*"></ColumnDefinition> 
     <ColumnDefinition Width="9*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <TextBlock Grid.Column="1">This is 10% from the left</TextBlock> 
</Grid> 

虽然这看起来像是一个单独的项目很多,它通常适用于具有多个元素的典型布局。

对于拥有更多控件的繁忙设计,您可能需要根据屏幕大小移动它们。对于给定的文本块,50%的宽屏幕可能很多,而对于相同的文本,50%的窄屏幕可能太小。该应用可能希望从宽屏幕上的水平布局切换到窄屏幕上的垂直布局。应用程序可以使用视觉状态来移动控件或完全切换控件(例如,用于宽屏幕的GridView和用于窄屏幕的ListView,都绑定到相同的底层数据)。