समायोजित करें जब मैं अपना पृष्ठ बना रहा हूं, तो मैं डिवाइस (एंड्रॉइड, आईओएस & विंडोज फोन) का अभिविन्यास जानना चाहता हूं। पृष्ठ में 3 कॉलमन्डिफिनिशन के साथ ग्रिड है और जैसे ही अभिविन्यास को परिदृश्य में बदल दिया गया है, उसके साथ 5 कॉलमंडिफ़िनिशन होना चाहिए।Xamarin.Forms - अभिविन्यास का पता लगाएं और पृष्ठ
Grid grid = new Grid
{
HorizontalOptions = LayoutOptions.Fill,
VerticalOptions = LayoutOptions.Fill,
RowSpacing = 15,
ColumnSpacing = 15,
Padding = new Thickness(15),
ColumnDefinitions =
{
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) },
new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }
}
};
for (int i = 0; i < 12; i++)
{
Image img = new Image()
{
Source = "ButtonBlue.png"
};
//if(DependencyService.Get<IDeviceInfo>().IsPortraitOriented())
//{
grid.Children.Add(img, i % 3, i/3);
//}
//else
//{
// grid.Children.Add(button, i % 5, i/5);
//}
}
this.Content = new ScrollView
{
Orientation = ScrollOrientation.Vertical,
Content = grid
};
तो यहां मैंने अपने कोड का परीक्षण करने के लिए 12 छवियां जोड़े। पेज पोर्ट्रेट-ओरिएंटेशन में अच्छा दिख रहा है और डिवाइस में लैंडस्केप-ओरिएंटेशन में कॉलम के बीच बहुत सी जगह है।
मैं भी जानकारी प्राप्त करने के लिए निर्भरता इंजेक्शन का उपयोग करने की कोशिश कर रहा हूं। निर्भरता सेवा अपना काम कर रही है, लेकिन मुझे डिवाइस के अभिविन्यास को पुनः प्राप्त करने में कोई सफलता नहीं है ...
बनाने आप इस Git लिंक सहायक होगी https://github.com/xamarin/monotouch-samples/tree/master/Rotation –
मैं इसे एक नज़र दूंगा। – Bart