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