25 Temmuz 2013 Perşembe

Android 7 (Ekrana Tema Uygulama)




                Bu basit uygulamamda ana ekranımda about isimli bir butonum var ve ben butona bastığımda about için hazırladığım bilgi ekranının açılmasını istiyorum. Amacım bunu sağlamak için tema nasıl değiştirilir bunu öğrenmek. Uygulamam bittiğinde about butonuna basıldığında aşağıdaki gibi bir görüntü elde ediyorum!




                En bastan  başlayacak olursak yeni boş bir android projesi oluşturuyorum. Açılan ana ekranıma butonu sürükleyip bırakıyorum. Bu butona isim eklemek için xml kodundaki text kısmına

android:text="@string/about"

yazıyorum ve hemen ardından values-->string.xml i açıp about isminde bir String ekliyorum. Values kısmına da About yazıyorum. Aşağıdaki gibi ana ekran görüntümü hazırladım.




                İkinci ekranımı eklemek için layout klasörüne sağ tik new-->other-->android xml file yolu ile ekran2 isminde yeni bir xml dosyası oluşturdum. “ekran2.xml” ekranıma textview sürükleyip bırakıyorum. Textview in yazısı için bilgi isimli yeni bir String ifade oluşturuyorum ve textxview in kod kısmına aşağıdaki gibi ekliyorum

android:text="@string/bilgi

         Buradaki işlemde tamam. Şimdi oluşturduğumuz ekran2.xml için bir de Java sınıfı oluşturuyorum. Bunun için src klasörüne sağ tık ile new-->class yolunu takip ediyorum. Eklediğim sınıfa rastgele bir isim verebilirim. Ben “ekran” isimli bir sınıf oluşturdum.

                Bu oluşturduğum ekran.java dosyasını Activity i extends ediyorum. Sonra Activity nin  Override metodu olan onCreate() metodunu ekliyorum , onCreate() metodu içerisine 

setContentView(R.layout.ekran2);

kodunu ekliyorum. “ekran.java” kodunda yapacaklarım bu kadar , kodun genel görünümü aşağıdaki gibi oluyor

import android.app.Activity;
import android.os.Bundle;

public class ekran extends Activity{

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                        // TODO Auto-generated method stub
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.ekran2);
            }
}

         Sırada ana ekranımdaki eklediğim butona listener ekleyerek basıldığında yeni ekranımın açılmasını sağlamak. Bunun içinde src klasörü altında bulunan MainActivity.java dosyamı açıyorum. Listener ekleyeceğim için öncelikle OnClickListener i implements ediyorum. OnClickListener in Override metodu olan onClick(View v) metodunu ekliyorum. Daha sonra butonu tanımlıyorum , listener ekliyorum. “onClick()” metodu içerisine de butona basıldığında diğer ekranın açılması için Intent sınıfını import ediyorum ve aşağıdaki kodu ekliyorum

Intent i = new Intent(this,ekran.class);
startActivity(i);

MainActivity.java kodumun son hali aşağıdaki gibi oldu

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        Button buton =(Button)findViewById(R.id.button1);
        buton.setOnClickListener(this);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


            @Override
            public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Intent i = new Intent(this,ekran.class);
                        startActivity(i);
            }
}


         “MainActivity.java” daki düzenleme işlemlerimde tamam. Şimdi de sonradan eklediğim ekran2.xml in uygulama da çalışabilmesi için AndoridManifest.xml dosyasını çift tıklayarak açıyorum. Açtıktan sonra kod kısmına aşağıdaki gibi kodumu ekliyorum

<activity android:name="com.example.uygulama4.ekran"
          android:theme="@android:style/Theme.Dialog"></activity>

         İşte temayı burada belirtiyoruz. Ben açılan ekranımın diyalog penceresi seklinde olmasını istediğim için Theme.Dialog seklinde seçtim. Seçtim diyorum çünkü birden çok seçenek var. Böylece penceremiz için tema uygulamış olduk.

@android:style/Theme yazdıktan sonra “Ctrl + Space” ile seçenekleri görebiliriz.

                Uygulamamız hazır run ederek deneyebiliriz.

Uygulamayı indirmek isteyenler için kodu diskten paylaşıyorum;

İndir



Ekran Görüntüleri





21 Temmuz 2013 Pazar

Android 6 (Arka Plan Resmini ve Rengini Değiştirme)



Arka Plan Resmi Değiştirmek


                Projemde ekranın arka planına resim eklemek için öncelikle projemin olduğu klasörü açıyorum. Ubuntu için home—workspace içerisinde , Windows için de belgeler—workspace veya belgelerin bir üst klasöründe olmalı. Projemizin bulunduğu klasörü açtıktan sonra içerisinde bulunan res klasörünü de açalım. Burada “drawable-...” şeklinde klasörler var. Bu klasörlerin hepsi projemizde kullanacağımız resimleri tutmak içindir. Birden fazla olmasının sebebi boyutlara göre ayrılmalarıdır. Drawable-hdpi  en küçük çözünürlükteki resimlerimizi ,  drawable-xxhdpi en büyük çözünürlükteki resimlerimizi koymamız içindir.

                Ben resmimi drawable-hdpi nin içerisine atıyorum. Sonra derleyicime tekrar dönüyorum ve soldaki res klasörü altında resmi attığım klasöre bakıyorum ama herhangi bir değişiklik yok.Biz resmi proje açıkken aktardığımız için haliyle derleyici resmi görmedi. Resmi görmesi için yukarıdaki sekmelerden Project --> Clean i seçiyorum ve OK dedikten sonra resmin aktardığımız klasörün içerisinde olduğunu görebiliriz.
               
                Buraya kadar sorun yoksa bundan sonrası çok basit. Gözüken bos ekranın üzerine tıklıyorum ve sağ yandaki properties penceresinden Background yazısının yanındaki üç noktaya tıklıyorum.
                


                Açılan pencereden Drawable i genişletip resmimizi seçiyoruz ve OK ile resmi eklemiş oluyoruz. Ekleme işleminden sonra ekrana resim eklenmemiş ise ya emulatörünüzün çözünürlüğü ile eklediğiniz resmin çözünürlüğü uyuşmuyor ya da eklediğiniz klasör hatalı demektir. Bu arada benim eklediğim resmin boyutu 480 – 640 .Ekleyeceğimiz resimleri telefon boyutuna göre düzenlemek daha iyi sonuç almamızı sağlayacaktır.




Arka Plan Rengini Değiştirme




                Arka plan rengini değiştirmek için res-->values-->styles.xml  i açıyorum. Açılan pencerede Add ardından Color u seçiyorum.
              



                Ok dedikten sonra  sağda Name ve Values  adında iki boş alan var. Bunlardan ilkine oluşturulduğumuz renge ulaşabileceğimiz bir isim veriyorum. İkincisine de renk değerimizi giriyoruz. Renk değerimiz için önce başına  “#”yazıyoruz. Sonrası için farklı seçeneklerimiz var bunlar aşağıdaki gibi ;

#ARGB
#RGB
#RRGGBB
#AARRGGBB

                Buradaki A aplha , R red , G green , B blue. Bu farklı kullanım şekillerinin amacının daha hassas renk ayarını sağlayabilmek olduğunu düşünüyorum.

                Değerlere 0-9 arası ve 10 a karşılık A , 11 e B , 12 ye C ,13 e D , 14 e E , 15 e F değerlerini karşılık olarak kullanabiliriz. Bu kodlama 16 lık sayı tabanına göre ayarlanmıştır.

                İstediğimiz değerleri buraya yazarak kaydettikten sonra activity_main.xml e geliyorum ve ekrana tıklıyorum. Properties penceresinden Background u seçiyorum. Açılan pencereden Color u genişletip oluşturduğum rengi tıklayıp OK diyorum ve işlemim tamamdır.

                Ben deneme amaçlı  #DDAACCBB seklinde bir değer yazdım sonuçta karsıma çıkan renk aşağıdaki gibi oldu ;