Android O ile Metni Otomatik Boyutlandırma

Google geçtiğimiz günlerde düzenlediği Google I/O 2017 etkinliğinde yeni Android O işletim sistemini tanıttı. Google, şuan Android O işletim sistemini incelemek amaçlı biz geliştiricilere preview versiyonunu sunmuş bulunmaktadır.
Bu makalemde Android O’nun yeni “metni otomatik boyutlandırma” özelliği ile ilgili örnekler yapacağız. Bu özellik, sözleşmelere otomatik olarak genişleyen ve mevcut düzene sığacak şekilde metin oluşturmanızı sağlar.

Android O Developer Preview Kurulumu

Şu anda Android Studio’nun canary build yapısıyla sadece Android O Developer Preview haline ulaşabilirsiniz.
Android O Developer Preview, Android Studio’ya kurabilmeniz için bazı işlemler yapmamız gerekmektedir. İlk öncelikle Android Studio’da File sekmesinden Settings bölümünü açmalısınız.Son olarak Appearance & Behavior > System Settings > Updates bölümünü açmalısınız. Updates sayfasında seçme alanında Channel tipini Canary Channel seçip, Check Now butonuna tıklayınız.Aşağıda resimde ilgili yeri gösterdim.

Android O Preview sdksı Android Studio’ya indirildi. Şimdi ise SDK Manager açıp,  SDK Platforms tabındaki Android O Preview seçerek yüklemelisiniz.

Diğer bir yandan SDK Manager’daki  SDK Tools tabını seçip aşağıda belirttiğim başlıkları da yükleyiniz.

  • Android SDK Build-Tools 26.0.0 (rc1 or higher)
  • Android SDK Platform-Tools 26.0.0 (rc1 or higher)
  • Android Emulator 26.0.0
  • Support Repository

Artık Android Studio’da  target Android O olan yeni proje oluşturabilirsiniz.

Gradle Dosyasını Ayarlama

Minimum Sdk’sı Android 7+ O Preview olan yeni bir proje oluşturuyoruz. Oluşturduğum projemin app dizinin altındaki build.gradle dosyasını açıyoruz. Farkındaysanız buildToolsVersion versiyonu değişti. Son olarakda  Support Library   en son versiyonunu eklemeniz gerekmektedir.

Dinamik Metin Oluşturma

Android O’da sabırsızlıkla beklenebilecek yeni UI özelliklerinden biri, metni otomatik boyutlandırma yöntemidir. Birkaç XML özelliklerinin eklenmesiyle, metninizin boyutunu otomatik olarak artıran ve azaltan TextViews oluşturabilir, böylece her zaman TextView sınırları içinde mükemmel bir şekilde sığar.

Bu otomatik ölçeklendirme, metninizin, Android’in geniş ekran aralıkları ve yoğunluk aralıklarında okunması kolay olmasını sağlayabilir. Otomatik yeniden boyutlandırma, düzeninizde ki garip boşlukları veya bir cümlenin ortasında kesilen metinleri de önlemenize yardımcı olur.

Metninizi otomatik boyutlandırmanın 2 yöntemi bulunmaktadır.

  • Granularity: Metnin boyutunu, minimum ve maksimum değerler aralığında ve metnin her adımında özel boyutlar vermeni sağlar. Bu boyutlandırma esnasında metnin TextView’ın yatay ve dikey eksenler üzerinde eşit olarak ölçeklenmesini sağlar.

 

  • Preset sizes: Metninizde kullanılabilecek tüm boyutların bulunduğu dizinin belirtildiği yer bu bölümdür. Android O bu dizideki TextView boyutlarına dayalı en uygun boyutu seçecektir.

 

Seçtiğiniz yöntemi ne olursa olsun, TextView öğesine her zaman android: autoSize Text = “uniform”  XML özniteliğini eklemeniz gerekmektedir. Bu nedenle, layout xml  dosyanızı açın ve bu elemanı ekleyiniz.
Granularity
Otomatik boyutlandırmayı uygulamak için,  aşağıdaki özellikleri Textview elementine eklemelisiniz.

  • autoSizeMinTextSize: Metnin minimum boyutunu  TextView’de kullanmanızı sağlar.
  • autoSizeMaxTextSize: Metnin maksimum boyutunu  TextView’de kullanmanızı sağlar.
  • autoSizeStepGranularity: Metin boyutunun artış değeridir. Varsayılan olarak 1 pikseldir.

Örnek kod;

Preset Sizes
Metninizi otomatik boyutlandırmanın diğer yöntemi, desteklenen metin boyutları dizisi oluşturmaktır. Android O bu listeden, görüntülemek zorunda olduğu metin miktarına, TextView’ın boyutlarına ve geçerli ekran yapılandırmasına dayanarak en uygun değeri seçecektir.

Eğer projenizde daha önce arrays.xml dosyasını oluşturmadıysanız,  projenizin ana dizininde app\src\main\res\values yolunu takip ederek  values dizinini bulunuz. values dizinine sağ tıklayıp New > Values Resource File sekmesiyle arrays.xml dosyasını oluşturun.

arrays.xml dosyasını açıp, TextView’de kullanmak istediğiniz tüm metin boyutlarını tanımlayın. Örnek kod;

Son olarak  Textview’in autoSizePresetSizes özeliğinde arrays.xml tanımladığınız referans ismi belirtiniz.

Projenizi Test Etmeyi Unutmayın

Bir TextView’e otomatik boyutlandırma ekledikten sonra, Android O AVD’yi açın ve TextView’ın bir Android O ekranında nasıl bir şekilde çalıştığına bir göz atın. Otomatik boyutlandırmanın doğru çalıştığını kontrol etmek için, TextView’i farklı miktarda metin görüntülemek üzere güncelleyin ve ardından ekran üzerinde gördüğünüz son görüntüye ne gibi etkileri olduğunu görmenizi tavsiye ederim.

Kaynaklar
1- https://developer.android.com/preview/features/autosizing-textview.html

2- https://code.tutsplus.com

Kategori Genel
Etiketler