Press ESC to close

Xamarin Forms Bekleme Simgesi

Uygulamalarda en önemli özelliklerden birisi kullanılabilirliktir. Bizim de mobil uygulamalarınız gerek web servislerden veri alışverişi yaptırırken olsun gerek localde çalışırken olsun kullanıcıyı bekletme durumumuz olabilir. Bunu da kullanıcının anlaması lazım. Örnek vermek gerekirse siz veri tabanınıza bir veri kaydediyorsunuz, internet hızınıza göre bu uzun da sürebilir bu yüzden kullanıcıya o an da bir işle meşgul olduğunu belirtmeniz gerekir. Xamarin’de bunun için bir kaç eklenti var ama bunlara gerek yok çünkü Activity Indicator var. Activity Indicator ekranda yuvarlak bir şekilde dolan bir simge gösterir. Bu hepimizin alışmış olduğu, şu an da bir işlem yapıyorum kullanıcı sen bekle demektir. Bu yazımızda bunun kullanımından bahsedeceğiz. Zira biraz sıkıntılı bir kullanımı var.

Öncelikle Activity Indicator’ı ekranın tam ortasında göstermeniz lazım. Çünkü kullanıcı bunu bekler. Bunu ekranın ortasında konumlandırmak için Relative Layout veya Absolute Layout  kullanabilirsiniz. Ben bu yazımda bu ikisini de kullanmayacağım. Grid ile bunu yapacağım.

Bir sayfa tasarlamak ile başlayalım. Burada ilk önce sayfaya Grid atadım. Bunun amacı ekranda ki önce formlar ya da herhangi bir sayfa tasarımı ne olura olsun bunun üzerine activty indicator getirmek. Ardından grid içerisine bir Scroll View  atadım, belki sayfama sığmayabilir eklediğim kontroller. Sonrasında sayfada gözükecek kontroller atamasına başlıyorum. Ben basit bir örnek olması için sadece bir buton atadım. Bu butona bastığım zaman eğer indicator çalışmıyorsa çalıştıracak, çalışıyorsa durduracak. En son olarak da gridin içerisine scroll viewin dışına bir indicator atıyorum. Indicatorun yerini ise ekranın tam ortası olacak şekilde ayarlıyorum. Tasarım tarafında işim bitti.

<Grid>
   <ScrollView>
     <StackLayout>
         <Button x:Name="buttonBas"
                    Text="Bas"
                    BackgroundColor="Black"
                    TextColor="White"
                    Clicked="btn_Clicked"/>
      </StackLayout>
   </ScrollView>
    <ActivityIndicator x:Name="indicator"
                        VerticalOptions="Center"
                        HorizontalOptions="Center" />
</Grid>

Activity Indicatorı çalıştırmak için isRunning özelliğini kullanmamız gerekiyor. Eğer true ise çalışacak, false durumda ise çalışmayacak. Tabi bunu bizim kontrol etmemiz gerekiyor. Bu kontrolleri yaptıktan sonra kullanıcının karşısına activty indicator çıkartmış oluyoruz.

void btn_Clicked(object sender,EventArgs e)
        {
            if (indicator.IsRunning==false)
            {
                indicator.IsRunning = true;
            }
            else
            {
                indicator.IsRunning = false;
            }
        }

Sorularınız olursa mail veya yorum atarak ulaşabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir