12 Aralık 2011 Pazartesi

(Sayı Sırala - 3) MainActivity

Bu uygulamayı indir

Proje oluşturulduğunda src/com.ornekler.sayisirala/ yolunun altında MainActivity.java yani  MainActivity oluşturulduğunu da göreceksiniz. Bu activity’i ana ekran için kullanacağız. Kullanıcı bu ekranda zorluk derecesiniz belirleyebilecek.

Şimdi bu activity kullandığı layout’un tasarımını yapmalıyız. res/layout altındaki main.xml layout’u şu şekilde tasarlıyoruz.

main.xml
Ekrandaki bileşenlerin text özelliğine istediğinizi yazabilirsiniz. Fakat string.xml dosyasını kullanmayı düşünüyorsanız bileşenin üzerinde sağ tıklayıp “Edit Text” komutunu vererek direk string.xml dosyasına yeni satır girebilir ve bu satırın(text değerin) bileşenin text özelliğine atayabilirsiniz.

MainActivity içerisinde özelleştirilmiş dialog kutusu da kullanacağımız için birde dlg_ozel.xml adında yeni bir layout daha oluşturuyoruz.
Res/layout dizini üzerinde sağ tıklayıp New>Other… a tıklayıp Android/Android XML Layout File komutunu verip ileri tıklayalım. File kutusuna “dlg_ozel” yazıp layout oluşturalım. Aşağıdaki gibi bir tasarım yapıyorum.

dlg_ozel.xml

Layoyut tasarımının ardında MainActivity.java yı kodlamaya başlayabiliriz.

MainActivity.java

package com.ornekler.sayisirala;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        this.setTitle("Sayı Sırala - Seviye Seç");
        
        Button btnBasit = (Button) this.findViewById(R.id.btnBasit);
        Button btnOrta = (Button) this.findViewById(R.id.btnOrta);
        Button btnOzel = (Button) this.findViewById(R.id.btnOzel);
        
        Typeface font = Typeface.createFromAsset(getAssets(), "font/Corv2.ttf");
        btnBasit.setTypeface(font);
        btnBasit.setTextSize(36.f);
        
        btnOrta.setTypeface(font);
        btnOrta.setTextSize(36.f);
        
        btnOzel.setTypeface(font);
        btnOzel.setTextSize(36.f);
       
        btnBasit.setOnClickListener( new OnClickListener(){
         
   @Override
   public void onClick(View v) {
    Intent i = new Intent(getApplicationContext(), OyunActivity.class);
    i.putExtra("sutunSayisi", 3);
    i.putExtra("satirSayisi", 2);
    startActivity(i);
    
   }
        });
        
        btnOrta.setOnClickListener( new OnClickListener(){
         
   @Override
   public void onClick(View v) {
    Intent i = new Intent(getApplicationContext(), OyunActivity.class);
    i.putExtra("sutunSayisi", 3);
    i.putExtra("satirSayisi", 3);
    startActivity(i);
    
   }
        });
        
        btnOzel.setOnClickListener( new OnClickListener(){
         
   @Override
   public void onClick(View v) {
    
    AlertDialog.Builder builder;
    AlertDialog alertDialog;
    
             LayoutInflater factory = LayoutInflater.from(v.getContext());
             final View textEntryView = factory.inflate(R.layout.dlg_ozel, null);

    builder = new AlertDialog.Builder(v.getContext());
    builder.setView(textEntryView);
    builder.setTitle("Özel Ayarlar");
    builder.setMessage("Sütun ve satır sayısını gir");
  
    builder.setPositiveButton("Oyna", new DialogInterface.OnClickListener() {
     
     @Override
     public void onClick(DialogInterface dialog, int which) {
      
      EditText editTextSutunSayisi = (EditText) textEntryView.findViewById(R.id.editTextSutunSayisi);
      EditText editTextSatirSayisi = (EditText) textEntryView.findViewById(R.id.editTextSatirSayisi);
      
      Intent i = new Intent(getApplicationContext(), OyunActivity.class);
      i.putExtra("sutunSayisi", Integer.parseInt(editTextSutunSayisi.getText().toString()));
      i.putExtra("satirSayisi", Integer.parseInt(editTextSatirSayisi.getText().toString()));
      startActivity(i);

     }
    });
    
    builder.setNegativeButton("İptal", new DialogInterface.OnClickListener() {
     
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.cancel();
     }
    });
    
    alertDialog = builder.create();
    alertDialog.show();

   }
        });
        
    }
    
}

Hiç yorum yok:

Yorum Gönder