Bu dersimizde relative layout ile yaklaşık 1 dakikada tanımlayabileceğimiz bir layout dosyasını java kodu ile dinamik bir şekilde oluşturdum. Yaklaşık 40 dakika sürdü:)
Bu dersi android dersi olarak değil de Java da bir soruna nasıl yaklaşılır, problem parçalanarak nasıl çözülür bunla ilgili olarak dinlemenizi tavsiye ederim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
package emrealtunbilek.com.relativelayoutornek; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Gravity; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.RelativeLayout; import android.widget.RelativeLayout.LayoutParams; import android.widget.TextView; public class MainActivity extends AppCompatActivity { RelativeLayout ana; TextView mesaj, kullaniciAdi, parola; EditText kullaniciAdiDegeri, parolaDegeri; Button giris; int mesajID=1, kullaniciAdiTextViewID=2, kullaniciAdiEditTextID=3, parolaTextViewID=4, parolaEditTextID=5, girisButtonID=6; int paddingDegeri=20; LayoutParams mesajTextViewBoyut, kullaniciAdiTextViewBoyut, kullaniciAdiEditTextBoyut, parolaTextViewBoyut, parolaEditTextBoyut, girisButtonBoyut; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); createMesajTextView(); createKullaniciAdiTextView(); createKullaniciAdiEditText(); createParolaTextView(); createParolaEditText(); createGirisButton(); ana.addView(mesaj, mesajTextViewBoyut); ana.addView(kullaniciAdi, kullaniciAdiTextViewBoyut); ana.addView(kullaniciAdiDegeri, kullaniciAdiEditTextBoyut); ana.addView(parola, parolaTextViewBoyut); ana.addView(parolaDegeri, parolaEditTextBoyut); ana.addView(giris, girisButtonBoyut); setContentView(ana); } private void init(){ ana=new RelativeLayout(this); LayoutParams anaBoyutlar=new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); ana.setLayoutParams(anaBoyutlar); mesaj=new TextView(this); kullaniciAdi=new TextView(this); parola=new TextView(this); kullaniciAdiDegeri=new EditText(this); parolaDegeri=new EditText(this); giris=new Button(this); } private void createMesajTextView(){ mesajTextViewBoyut=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); mesaj.setText("Lütfen giriş yapınız"); mesaj.setId(mesajID); mesaj.setPadding(paddingDegeri, 150, paddingDegeri, paddingDegeri); mesajTextViewBoyut.addRule(RelativeLayout.ALIGN_PARENT_LEFT); } private void createKullaniciAdiTextView(){ kullaniciAdiTextViewBoyut=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); kullaniciAdi.setText("Kullanıcı Adı"); kullaniciAdi.setId(kullaniciAdiTextViewID); kullaniciAdiTextViewBoyut.addRule(RelativeLayout.ALIGN_PARENT_LEFT); kullaniciAdiTextViewBoyut.addRule(RelativeLayout.BELOW, mesajID); } private void createKullaniciAdiEditText(){ kullaniciAdiEditTextBoyut=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); kullaniciAdiDegeri.setId(kullaniciAdiEditTextID); kullaniciAdiEditTextBoyut.addRule(RelativeLayout.RIGHT_OF, kullaniciAdiTextViewID); kullaniciAdiEditTextBoyut.addRule(RelativeLayout.BELOW, mesajID); kullaniciAdiEditTextBoyut.addRule(RelativeLayout.ALIGN_BASELINE, kullaniciAdiTextViewID); kullaniciAdiEditTextBoyut.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); } private void createParolaTextView(){ parolaTextViewBoyut=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); parola.setText("Parola "); parola.setId(parolaTextViewID); parola.setPadding(50, paddingDegeri, paddingDegeri, paddingDegeri); parolaTextViewBoyut.addRule(RelativeLayout.ALIGN_PARENT_LEFT); parolaTextViewBoyut.addRule(RelativeLayout.BELOW, kullaniciAdiEditTextID); } private void createParolaEditText(){ parolaEditTextBoyut=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); parolaDegeri.setId(parolaEditTextID); parolaEditTextBoyut.addRule(RelativeLayout.RIGHT_OF, parolaTextViewID); parolaEditTextBoyut.addRule(RelativeLayout.BELOW, kullaniciAdiEditTextID); parolaEditTextBoyut.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); parolaEditTextBoyut.addRule(RelativeLayout.ALIGN_BASELINE, parolaTextViewID); } private void createGirisButton(){ girisButtonBoyut=new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); giris.setText("GIRIS YAP"); giris.setId(girisButtonID); girisButtonBoyut.addRule(RelativeLayout.BELOW, parolaEditTextID); girisButtonBoyut.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); } } |