{"id":396,"date":"2013-12-09T00:09:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=396"},"modified":"2013-12-09T00:09:00","modified_gmt":"1970-01-01T00:00:00","slug":"android-programlamada-activity-ve-layout","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2013\/12\/09\/android-programlamada-activity-ve-layout\/","title":{"rendered":"Android Programlamada Activity ve Layout"},"content":{"rendered":"<p>\n\tLayout uygulamamizin kullanici aray&uuml;z&uuml;n&uuml; olusturanelemanlari barindiran ve bir d&uuml;zen i&ccedil;erisinde g&ouml;r&uuml;nt&uuml;lenmesini saglayan en alt katmandir. Activity ise kullanici ile etkilesimi saglayan ekrandir.Her bir layout yani ekran i&ccedil;in bir activity olmasi gerekir ve layout&rsquo;daki widgetlarin g&ouml;revini bu activitylerden kontol ederiz.<\/p>\n<p>\n\tLayoutlara projemizde &quot;res&gt;layout&quot; klas&ouml;r&uuml;n&uuml;n i&ccedil;inde activitylere ise projemizdeki &ldquo;src&rdquo; dosyasinin altinda erisebilirsiniz.<\/p>\n<p>\n\tBu projemizde ekrana bir textView, Edit Text&nbsp; ve Button koyacagiz&nbsp; Butona her basimizda Edit Text de butona&nbsp; ka&ccedil;inci kez basildigini sayacak ve butona her 5. Basisimizda ekranda&nbsp; bir uyari mesaji verecek.<\/p>\n<p>\n\tIlk olarak yeni projemizi olusturuyoruz ve otomatik olarak Layout sayfasi geliyor.Solda g&ouml;rd&uuml;g&uuml;n&uuml;z Pallete sekmesinin altinda widgetlarimiz var, bu projede sadece 3 tanesini inceleyecegiz.Bu projeden sonra size tavsiyem b&uuml;t&uuml;n widgetlari tek tek inceleyerek ne i&ccedil;in kullanildiklarini &ouml;grenenin.EditText,TextView ve Butonumuzu&nbsp; s&uuml;r&uuml;kle birak yaparak paletten layoutumuza yerlestiriyoruz.&nbsp;&nbsp; Resim&nbsp; de sag tarafta widgetlarin &ouml;zelliklerini g&ouml;steren bir toolbox var buradan&nbsp; widgelarin &ouml;zelliklerini ayarlayabilirsiniz.veya layoutumuzn xml&rsquo;inden ayni degisikliklerimizi yapabilirsiniz bunlar i&ccedil;inde ayri bir makale yazacagim. TextView&rsquo;in yazisini degistirmek i&ccedil;in xml de TextView in&nbsp; i&ccedil;indeki &ldquo; android:Text=&rsquo;Mesaj&rsquo;&rdquo; seklinde degistiriyoruz<\/p>\n<p>\n\t<img decoding=\"async\" alt=\"activity layout\" src=\"http:\/\/www.yazilimmutfagi.com\/Uploads\/resim1.jpg\" style=\"width: 700px; height: 459px;\" \/><\/p>\n<p>\n\tLayoutlarimiz xml dosyalarimizdan olusur. Activity_main.xml sekmesine tiklarsaniz layout&rsquo;un i&ccedil;erigini g&ouml;rebilirsiniz. Widgetlar &uuml;zerinden ayarlamalari&nbsp; xml uzerinden&nbsp; yapmaya alisirsaniz ileride &ccedil;ok kolaylik &ccedil;ekersiniz.ve bundan sonraki makalelerde Layout dosyasinin sadece Xml olarak i&ccedil;erigini verecegim.<\/p>\n<p>\n\t&nbsp;<\/p>\n<pre class=\"brush:xml\">\n&lt;RelativeLayout xmlns:android=&quot;http:\/\/schemas.android.com\/apk\/res\/android&quot;\n    xmlns:tools=&quot;http:\/\/schemas.android.com\/tools&quot;\n    android:layout_width=&quot;match_parent&quot;\n    android:layout_height=&quot;match_parent&quot;\n    android:paddingBottom=&quot;@dimen\/activity_vertical_margin&quot;\n    android:paddingLeft=&quot;@dimen\/activity_horizontal_margin&quot;\n    android:paddingRight=&quot;@dimen\/activity_horizontal_margin&quot;\n    android:paddingTop=&quot;@dimen\/activity_vertical_margin&quot;\n    tools:context=&quot;.MainActivity&quot; &gt;\n\n    &lt;TextView\n        android:id=&quot;@+id\/textView1&quot;\n        android:layout_width=&quot;wrap_content&quot;\n        android:layout_height=&quot;wrap_content&quot;\n        android:layout_alignParentLeft=&quot;true&quot;\n        android:layout_alignParentTop=&quot;true&quot;\n        android:layout_marginLeft=&quot;22dp&quot;\n        android:layout_marginTop=&quot;38dp&quot;\n        android:text=&quot;Mesaj&quot; \/&gt;\n\n    &lt;Button\n        android:id=&quot;@+id\/button1&quot;\n        android:layout_width=&quot;wrap_content&quot;\n        android:layout_height=&quot;wrap_content&quot;\n        android:layout_below=&quot;@+id\/textView1&quot;\n        android:layout_centerHorizontal=&quot;true&quot;\n        android:layout_marginTop=&quot;32dp&quot;\n        android:text=&quot;Button&quot; \/&gt;\n\n    &lt;EditText\n        android:id=&quot;@+id\/editText1&quot;\n        android:layout_width=&quot;wrap_content&quot;\n        android:layout_height=&quot;wrap_content&quot;\n        android:layout_alignBaseline=&quot;@+id\/textView1&quot;\n        android:layout_alignBottom=&quot;@+id\/textView1&quot;\n        android:layout_toRightOf=&quot;@+id\/textView1&quot;\n        android:ems=&quot;10&quot; &gt;\n\n        &lt;requestFocus \/&gt;\n    &lt;\/EditText&gt;\n\n&lt;\/RelativeLayout&gt;\n\n<\/pre>\n<p>\n\tDaha sonra src klas&ouml;r&uuml;m&uuml;z&uuml;n altindaki .java uzantili activity dosyamizi a&ccedil;iyoruz. Method&rsquo;larimizi ve kodlarimizi bu java dosyasina yazacagiz.<\/p>\n<p>\n\t<img decoding=\"async\" alt=\"android activity layout\" src=\"http:\/\/www.yazilimmutfagi.com\/Uploads\/resim2(3).jpg\" style=\"width: 700px; height: 458px;\" \/><\/p>\n<p>\n\tSirada layoutumuza koymus oldugumuz widgetlari&nbsp; activitymizde tanitma islemi var bunun i&ccedil;in su kodu kullanacagiz<\/p>\n<pre class=\"brush:java\">\n(widget t&uuml;r&uuml;) widget ismi = (Widget T&uuml;r&uuml;)findWiewById(R.id.widgetId); \n<\/pre>\n<p>\n\tWidget Id sini layoutumuzun xml dosyasinda veya widgeta tikladiginiz zaman sagdaki paletten ulasabilirsiniz<br \/>\n\tB&uuml;t&uuml;n widgetlarimizi tanittiktan sonra Buttona Listener ekle islemi kaldi.Bu islemleri a&ccedil;iklamali olarak kod &uuml;zerinden verecegim ve bundan sonraki makalelerde butun activityleri bu sekilde verecegim makalenin en sonunada&nbsp; ekran g&ouml;r&uuml;nt&uuml;lerini ve source kodumuzu koyacagim<\/p>\n<p>\n\t&nbsp;<\/p>\n<pre class=\"brush:java\">\npublic class MainActivity extends Activity {\n\tstatic int sayac =0;\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        \/\/Layoutumuzu Activitymize e tan&yacute;tt&yacute;k\n        setContentView(R.layout.activity_main);\n        \/\/Widgetlar&yacute;m&yacute;z&yacute; Activitymize tan&yacute;tt&yacute;k\n        \/\/Burada Dikakt etmeniz gereken a&thorn;a&eth;&yacute;daki gibi kodlar&yacute; yazd&yacute;&eth;&yacute;n&yacute;zda\n        \/\/hata verecekti &ccedil;&uuml;nk&uuml; Button EditTexr vb &thorn;eyleri projeye import etmeniz gerekmektedir\n                \n        Button btn =(Button)findViewById(R.id.button1);\n        final EditText et=(EditText)findViewById(R.id.editText1);\n        TextView tv =(TextView)findViewById(R.id.textView1);\n        \n        \/\/S&yacute;rada butonumuza Listener ekleme var \n        \/\/bu i&thorn;lem i&ccedil;in setOnClickListener() methodunu kullan&yacute;yoruz\n        btn.setOnClickListener(new View.OnClickListener() {\n\t\t\t\n\t\t\t\n        \t\/\/butona t&yacute;kland&yacute;&eth;&yacute; zaman yap&yacute;lacaklar&yacute; bu method alt&yacute;nda yaz&yacute;yoruz\n        \t@Override\n\t\t\tpublic void onClick(View v) {\n        \tsayac ++;\n        \t\tet.setText(&quot;Butona &quot;+String.valueOf(sayac)+&quot;.kez t&yacute;klad&yacute;n&yacute;z&quot;);\n        \t\tif(sayac==5){\n        \t\t\t\/\/Ekrana mesaj yazd&yacute;rmay&yacute; ise  Toast.makeText() methodu \n        \t\t\t\/\/Sayesinde yap&yacute;yoruz.Bu method 3 De&eth;i&thorn;ken al&yacute;yor 1.Context 2. mesaj ve 3. ise mesaj&yacute;n ekranda \n        \t\t\t\/\/ne kadar aral&yacute;kla duraca&eth;&yacute;\n        \t\t\tToast.makeText(getApplicationContext(), &quot;www.yazilimmutfagi.com&quot;,Toast.LENGTH_LONG);\n        \t\t\tsayac=0;\n        \t\t\t\n        \t\t}\t\n\t\t\t}\n\t\t});\n        \n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        \/\/ Inflate the menu; this adds items to the action bar if it is present.\n        getMenuInflater().inflate(R.menu.main, menu);\n        return true;\n    }\n    \n}\n\n<\/pre>\n<p>\n\tProgramizin ekran g&ouml;r&uuml;nt&uuml;leri su sekilde<\/p>\n<p>\n\t<img decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazilimmutfagi.com\/Uploads\/resim3(1).jpg\" \/><\/p>\n<p>\n\t<img decoding=\"async\" alt=\"\" src=\"http:\/\/www.yazilimmutfagi.com\/Uploads\/resim4(1).jpg\" \/><\/p>\n<p>\n\tVe buradan projenin kaynak koduna <a href=\"http:\/\/www.yazilimmutfagi.com\/yuklenendosyalar\/file\/serhatD\/ActivityAndLayout.rar\">buradan <\/a>ulasabilirsiniz<\/p>\n<p>\n\tSiradaki makalem Yeni sayfa olusturma sayfa ge&ccedil;isleri ve men&uuml;ler hakkinda olacak.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu makalemizde Activity ve Layout kavramlarini ve Button ,TextView ve EditView vb  widgetlarin kullanimini g&#246;sterecegim.<\/p>\n","protected":false},"author":560,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[448],"tags":[4738,4042,3957],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/396"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/560"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=396"}],"version-history":[{"count":0,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/396\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}