Merhaba,
Bu yazıda size XAMARIN de yer alan önemli tasarım nesnelerinden olan Grid ve ScrollView nesnelerinden bahsetmeye çalışacağım. Bu iki nesneyi çok fazla kullanacağınızdan emin olabilirsiniz.
ScrollView: Scroll kelimesi artık kimseye yabancı gelmiyor. Kullandığınız ekrana sığmayan öğeler için bu yapı kurulmuştur. aslında o öğeler ekrandadır ama kullandığınız ekranın altında kalmıştır. ScrollView nesnesi işte bu sorunu çözüyor. ekrandaki nesneler sığmadığı durumda aşağı doğru sürükleme özelliği sağlıyor. Eğer ekrana sığıyorsa ekstradan bir işlevsellik katmyor. Xamarin de bu nesne içine bir eleman alır. eğer birden fazla eleman kullanacaksanız StackLayout, Grid gibi nesneleri kullanıp içlerini diğer nesnelerle doldurmalısınız.
Grid: Bu nesneyi kesinlikle kullanacağınızdan emin olabilirsiniz. Kısaca tablo yapımında, ekranın çözünürlüğüne göre responsive yapı kurulumunda kullanabilirsiniz. Bu nesne Row(Satır) ve Column(Sütun) bölümlerinden oluşur. Bu nesne içine istediğiniz kadar nesne atabilirsiniz. içine eklediğiniz nesnelerin Grid.Row ve Grid.Column özelliklerine değer vererek nerede gözükeceklerine karar verebilirsiniz. Grid nesnesinin Scroll özelliği yoktur.
Aşağıdaki kod bloğu üzerinden anlatacak olursak.
Grid.ColumnDefinitions içine Grid nesnesinin kaç tane sütundan oluşacağını ve bu sütunların genişliklerinin ne olacaklarını belirliyorsunuz. Yıldız(*) operatörü tüm alan demektir. bu örnekte geriye kalan tüm alan oluyor. 80 değeri zaten anlaşılıyor 80'lik alan kaplayacak. auto ise içine verilen nesne ne kadar alan kaplaması gerekiyorsa o kadar kaplayacaktır. burada birden fazla Yıldız(*) operatörü kullanabilirsiniz. Alanı eşit parçaya bölmek için genelde kullanılır.
Grid.RowDefinitions içine Grid nesnesinin kaç tane satırdan oluşacağını ve bu satırların yüksekliklerinin ne olacaklarını belirliyorsunuz. Yıldız(*) operatörü tüm alan demektir. bu örnekte geriye kalan tüm alan oluyor. 100 değeri zaten anlaşılıyor 100'lük alan kaplayacak. auto ise içine verilen nesne ne kadar alan kaplaması gerekiyorsa o kadar kaplayacaktır.burada birden fazla Yıldız(*) operatörü kullanabilirsiniz. Alanı eşit parçaya bölmek için genelde kullanılır.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinitionWidth=”*”/>
<ColumnDefinitionWidth=”80″/>
<RowDefinitionHeight=”auto”/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinitionHeight=”*”/>
<RowDefinitionHeight=”100”/>
<RowDefinitionHeight=”auto”/>
</Grid.RowDefinitions>
</Grid>