2016-03-08 53 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,都綁定到相同的底層數據)。