Duyarlı Bir Flutter Düzeni Nasıl Oluşturulur

Yayınlanan: 2022-12-25

Bir mobil uygulamanın konfigürasyonu için, değişiklikler olağandır. Cep telefonunun klavyesi göründüğünde, cep telefonunuzu yatay veya dikey yönde döndürürsünüz. Akıllı telefonlar (katlanabilir olan), Android için çoklu pencerenin özellikleri ve özellikle iOS için Catalyst (proje, değerli kullanıcıların iOS uygulamalarını basitçe macOS'ta çalıştırmalarına izin veriyor), sayısız ekran boyutu varyasyonunu ortaya çıkardı.

Açık kaynaklı bir çapraz platform SDK'sı olan Flutter çerçevesi, geniş ekran boyutlu cihazları destekler, bu nedenle cihazlar bir akıllı saat gibi oldukça küçük veya hatta büyük bir TV gibi yeterince büyük olabilir. Flutter çerçevesi tek bir kod temelinde çalıştığından, Flutter ile mobil uygulamanızı piksel yoğunluklarının yanı sıra çok sayıda ekran boyutuna ayarlamak her zaman büyük bir zorluktur.

Halihazırda işletmeniz için bir uygulamanız varsa ve onu yeni trendlere göre düzgün bir şekilde cilalamak istiyorsanız, mobil uygulamanızın yapılandırmayı değiştirmek için uygun şekilde "tepki verdiği" varsayılır. Güvenilir bir flutter geliştirme şirketinin maksimum sayıda Flutter uygulama geliştiricisi, genellikle Flutter düzeninde yanıt verme konusunda sorun yaşıyor. Bu yazıda, duyarlı bir Flutter düzeni oluşturma konusundaki deneyimlerimizi paylaşacağız.

Yine de duyarlı bir Flutter düzeni tasarlamak için çok fazla kural yoktur. Bu blogda, işe alınan geliştirme ekibinizin özellikle bir düzen tasarlarken benimseyebileceği etkili yaklaşımlardan birkaçını göstereceğiz.

Ancak duyarlı mizanpajlar oluşturmaya başlamadan önce, duyarlı tasarımla ilgili bölümü ele almak isteriz.

Duyarlı tasarım

Bu, mobil uygulamaların, web sitelerinin ve hatta sistemlerin kullanıcının ekran boyutunu yeniden şekillendirmesine izin veren sonuç odaklı bir teknik veya tasarım yöntemidir. Bu duyarlı tasarım, yalnızca belirli bir cihaz için duyarlı bir şekilde tasarlanmış bir web uygulaması oluşturarak bir kullanıcının göz atma deneyimini optimize eder.

Bu konsept, telefonlar, tabletler ve bilgisayarlar gibi cihazlara karşılık gelen farklı düzen değişikliklerine uyum sağlayan tek bir kod satırının kullanılmasında yatmaktadır.

Duyarlı Tasarımın Hedefleri Nelerdir?

  1. Daha geniş kitle.
  2. Potansiyel kullanıcıları satın almaya yönlendirin.
  3. Marka bilinirliği.
  4. Geliştirilmiş Arama Motoru Optimizasyonu.
  5. Çevrimdışı ve çevrimiçi tarama deneyimini yükseltin.

Duyarlı tasarım, şüphesiz çeşitli cihazlarda potansiyel kullanıcılara ulaşmanın en iyi ve en kolay yollarından biridir ve bu da sorunsuz ve harika bir kullanıcı deneyimi sağlar.

İsteğe bağlı uygulama geliştirme aşamasında, geliştiriciler her zaman "önce mobil sürümü kullansın" kuralını kullanır. Cihazlar (akıllı telefon, TV gibi) için oluşturulan uygulama tasarımını değiştirmek veya daha büyük bir ekrana uyarlamak oldukça kolay olduğundan, bu yaklaşımın avantajlı ve kullanışlı olduğunu söyleyebiliriz. Veya bir geliştirme ekibinin daha küçük boyutlu bir şeyi karmaşık bir şeye dönüştürebileceğini söyleyebiliriz. Ancak, ters işlem arıyorsanız, o zaman kesinlikle daha karmaşık olacaktır.

Şimdi size Android ve iOS'un birden fazla ekran boyutu için duyarlı mizanpajları yerel olarak nasıl işlediğini anlatalım.

iOS Yaklaşımı

  1. İlk olarak, Otomatik Düzen

Uyarlanabilir arabirimler geliştirmek için bu otomatik düzen kolayca kullanılabilir. Mobil uygulamanın içeriğini yöneten ad kısıtlamalarıyla iyi bilinen kuralları kolayca tanımlayabileceğiniz yer. Bu kısıtlamalar, düzenlerinizi otomatik olarak yeniden ayarlar, böylece kesinlikle çerçevelerin herhangi bir manuel güncellemesine veya konum güncellemelerine gerek kalmaz.

  1. İkincisi, Boyut Sınıfları

Bu sınıflar, cihazların boyutunu ayırt etmemize olanak tanır ve böylece her boyutta ve iPad'in yanı sıra iPhone'un yönlendirmesinde harika görünen uyarlanabilir düzenler oluşturmamıza yardımcı olur, böylece Kullanıcı Arayüzünü kolayca güncelleyebiliriz.

  1. Üçüncüsü, Kullanıcı Arayüzü Öğeleri

UISplitViewController

UIViewController

UIStackView, vb.

iOS'ta yanıt veren bir Kullanıcı Arabirimi oluşturmaya yardımcı olan Kullanıcı Arabirimi öğelerinden birkaçıdır.

Ayrıca Okuyun- 2023'ün En İyi 5 Flutter Geliştirme Şirketi

Android Yaklaşımı

  • İlk olarak, Kısıtlama Düzeni

Bu kesinlikle sürükle ve bırak özellikleriyle birlikte eksiksiz bir Kullanıcı Arayüzü tasarımı oluşturmamıza olanak tanıyan kapsamlı araçlardan biridir. fazla çaba harcamadan Kullanıcı Arayüzü öğelerine animasyonlar. Yine de, bu düzen, büyük ekranların yanı sıra küçük ekranlı cihazlarla (akıllı telefonlar veya TV) ilgili endişeleri çözmez.

  • İkincisi, Alternatif Düzenler

Android Studio'da, daha önce bahsedilen sorunu çözmek için alternatif düzenleri kullanabilirsiniz. Bir dizi ekran boyutu için farklı düzen dosyaları tanımlarsanız, cihazların ekran boyutuna göre aksiyomatik olarak değiştirilirler.

  • Üçüncüsü, Parçalar

Çok bölmeli düzen tasarlama sürecinde daha büyük ekran boyutları için etkin mantığı ayrı ayrı tanımlamak yerine, Kullanıcı Arayüzü mantığını iyi tanımlanmış bileşenlere ayırabilirsiniz.

  • Dördüncüsü, Vektör Grafikleri

Bir dizi Android ekranı eklemek için bu vektör grafikleri, Android Studio'daki Vector Asset Studio'nun yardımıyla zahmetsizce oluşturulabilir.

Flutter Düzeninde Duyarlılık

Her bir geliştirici ve tasarımcı sihir için çıldırır ve bunun için farklı-farklı teknolojiler öğrenirler. Ancak uygulama süreci gerçek hayatta zahmetsiz değildir ve herkes kolay olmasını istese de o başka bir şeydir. Flutter çerçevesini kullanmaya karar verdiyseniz, işe alınan flutter geliştiricileriniz ve tasarımcılarınız kendilerini asla başka bir çerçeve ararken bulamayacaklardır.

Duyarlılık elde etmek için Flutter çerçevesi, tasarımcının fikirlerini kolayca uygulamak için pek çok sınıf ve widget sunar. Belirli bir uygulamada fikirlerini uygulamaya tam olarak ne kadar istekli olduğu tamamen bir geliştiricinin seçimidir. Bunlardan birkaçı:

İlk olarak, MediaQuery

MediaQuery'yi kullanmak kesinlikle değerlidir, bu kesinlikle cihazın ekranının boyutunu (genişlik/yükseklik açısından) telafi etmenize ve ayrıca yönünü (dikey/manzara açısından) almanıza yardımcı olabilir.

İkincisi, Düzen Oluşturucu

LayoutBuilder'ın yardımıyla, widget'ların maxHeight ve maxWidth değerlerine karar vermek için kullanılabilen BoxConstraints adlı nesneyi kolayca elde edebilirsiniz.

Üçüncüsü, OrientationBuilder

Widget'ın mevcut yönünü belirlemek istiyorsanız, OrientationBuilder adlı sınıfı kullanmak en iyisi olacaktır.

Dördüncü, Genişletilmiş ve Esnek

Genişletilmiş ve Esnek adlı Widget'lar, bir Satırın yanı sıra bir Sütun içinde de özellikle kullanışlıdır. Efendim, bu Genişletilmiş pencere öğesi, bir satırın, Flex'in veya Sütunun bir alt öğesini genişletmek için kullanılır, böylece elde edilebilir alan çocuk tarafından doldurulabilir, oysa Esnek'in kesinlikle tüm kullanılabilir alanı kaplaması gerekmez.

Beşinci, FractionallySizedBox

FractionallySizedBox adıyla bilinen bu pencere öğesi, çocuğunu boyutlandırmaya (toplam kullanılabilir alanın bir parçasına kadar) yardımcı olur. Esas olarak Genişletilmiş ve Esnek pencere öğeleri içinde kullanışlıdır.

Altıncı, En Boy Oranı

Çocuğu belirli bir en boy oranına çekmek istiyorsanız, bu widget'ı kullanabilirsiniz. Bu En Boy Oranı widget'ı, başlangıçta düzen kısıtlamalarının izin verdiği en büyük genişliği dener ve bundan sonra, yalnızca belirli en boy oranını verilen genişliğe uygulayarak yüksekliği seçer.

Son Çekim

Tutarlı ve kullanıcı dostu bir tasarım, hangi cihazda görüntülendiğinden bağımsız olarak, iyi yanıt vermelidir. Web siteleri mobil kullanıcıların gereksinimlerini karşılamayan sektörler yok oluyor. Tasarımın yanıt verebilirliğinin en sevindirici yanı, şirketin web sitelerinin hem hızlı hem de herhangi bir bozulma olmaksızın yüklenecek olmasıdır; bu da harika bir çevrimiçi ve çevrimdışı tarama deneyimi anlamına gelir.

Kuruluşlar için duyarlı uygulamalar, hem geliştirme hem de bakım için çok düşük maliyetlerle çok yönlülük sağlar, belirli uygulama izleme sürecini basitleştirir ve ayrıca oldukça yüksek arama sıralamaları getirir.

Bu yazının, yalnızca Flutter'da duyarlı bir düzenin nasıl oluşturulacağı hakkında değil, aynı zamanda Flutter'da duyarlı UI düzeni tasarımına çok fazla kod satırı olmadan daha hızlı ve daha kolay ulaşma konusunda iyi bilgiler toplamanıza yardımcı olacağını umuyoruz.