मेरे पास एक पृष्ठभूमि छवि है जिसे मुझे अपने सामग्री पृष्ठ पर सेट करना है, हालांकि छवि ज़ूम इन है। मुझे इसे पहलू = "भरें" पर होना चाहिए ताकि यह ठीक से दिखाई दे। मैंने ऑनलाइन देखा और समाधान एक छवि के साथ एक निरपेक्ष लयआउट या सापेक्ष लयआउट होना था। लेकिन इसे जोड़ते समय, एक छवि जो पृष्ठ के निचले भाग में होनी चाहिए, वह अब नहीं है।
<RelativeLayout Parent="0" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<Image Source="Background.jpg" Aspect="Fill" RelativeLayout.WidthConstraint= "{ConstraintExpression Type=RelativeToParent, Property=Width}"
RelativeLayout.HeightConstraint= "{ConstraintExpression Type=RelativeToParent, Property=Height}"></Image>
<StackLayout>
<Label Text="Timetable" TextColor="Silver" HorizontalOptions="EndAndExpand" Margin="0, 10, 20, 0">
</Label>
<Image Margin="15, 20" HorizontalOptions="Center" WidthRequest="350" Source="subtle-logo.png"></Image>
<Image HorizontalOptions="Center" x:Name="PlayPauseButton" Source="play.png" WidthRequest="75">
</Image>
<Image HorizontalOptions="Center" x:Name="shareButton" Source="share-button.png" WidthRequest="50"
VerticalOptions="End" Margin="0, 0, 0, 20">
</Image>
</StackLayout>
</RelativeLayout>
हालांकि, वर्टिकलऑप्शन = "एंड" प्रॉपर्टी के कारण वह शेयर बटन पेज के निचले भाग में होना चाहिए। मैं यह कैसे तय करुं?
1 उत्तर
AbsoluteLayout
प्रदर्शन कारणों से बेहतर है। साथ ही आप AbsoluteLayout
के बारे में पूछ रहे हैं, लेकिन आपके द्वारा साझा किए गए कोड में RelativeLayout
का उपयोग कर रहे हैं।
भले ही, आपको उस अंतिम छवि के लिए VerticalOptions
VerticalOptions="EndAndExpand"
की आवश्यकता है जो उपलब्ध स्थान को भरने के लिए क्षेत्र का विस्तार करेगा और फिर छवि को उस क्षेत्र के ऊर्ध्वाधर छोर पर रखेगा।
मूल रूप से Start
, Center
, End
, और Fill
लेआउट विकल्प कहते हैं कि उपलब्ध स्थान में तत्व को कहां रखा जाए या उपलब्ध स्थान को भरने के लिए तत्व को बड़ा किया जाए, जहां StartAndExpand
, CenterAndExpand
, EndAndExpand
, और FillAndExpand
उपलब्ध स्थान का विस्तार करेंगे, यदि संभव हो, और फिर उस स्थान में आइटम को Start
पर सेट करें, Center
, आदि। AndExpand
विकल्प केवल StackLayout
में लागू होते हैं
यदि आप इसके बजाय AbsoluteLayout
का उपयोग करना चाहते हैं तो यह कोड है (फ़ॉर्म इंजीनियरिंग टीम द्वारा अनुशंसित):
<AbsoluteLayout>
<Image Source="Background.jpg" Aspect="AspectFill" AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All" />
<StackLayout AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All">
<Label Text="Timetable" TextColor="Silver" HorizontalOptions="EndAndExpand" Margin="0, 10, 20, 0">
</Label>
<Image Margin="15, 20" HorizontalOptions="Center" WidthRequest="350" Source="subtle-logo.png"></Image>
<Image HorizontalOptions="Center" x:Name="PlayPauseButton" Source="play.png" WidthRequest="75">
</Image>
<Image HorizontalOptions="Center" x:Name="shareButton" Source="share-button.png" WidthRequest="50"
VerticalOptions="EndAndExpand" Margin="0, 0, 0, 20">
</Image>
</StackLayout>
</AbsoluteLayout>
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।