Mouse tıklanma sesleri için şimdiden kusura bakmayın:)
Bu derste ekranın orientation değişimlerini, sonuçları ve bu değişim durumlarında ekrandaki verileri nasıl koruyacağımızı anlatmaya çalıştım.
Ayrıca portrait ve landscape modlar için farklı arayüzler tanımladık. Bu sayede kullanıcı dostu ve ekran değişimlerine göre değişim gösteren layoutlar kullanarak uygulamamızı güzelleştirebiliriz.
Bu derste ayrıca saveinstancestate methodunun da kullanımını görebilirsiniz.
Tüm uygulamayı indirmek için tıklayın…
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 |
package com.example.emrealtunbilek.orientationdegisimi; import android.content.res.Configuration; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button btn; TextView mesaj; EditText isim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn= (Button) findViewById(R.id.button); mesaj= (TextView) findViewById(R.id.textView); isim= (EditText) findViewById(R.id.editText); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mesaj.setText("Hoşgeldin "+ isim.getText().toString()); btn.setText("Çıkış Yap"); } }); if(savedInstanceState!=null) { btn.setText(savedInstanceState.getString("buton_adi")); mesaj.setText(savedInstanceState.getString("mesaj")); } } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("mesaj", mesaj.getText().toString()); outState.putString("buton_adi", btn.getText().toString()); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); } } |
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 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.emrealtunbilek.orientationdegisimi.MainActivity"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/portrait" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:id="@+id/imageView" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="" android:hint="Adınızı Yazın" android:ems="10" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" android:id="@+id/editText" /> <Button android:text="Giriş Yap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText" android:layout_centerHorizontal="true" android:layout_marginTop="44dp" android:id="@+id/button" /> <TextView android:text="Mesaj" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:id="@+id/textView" /> </RelativeLayout> |
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 |
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:id="@+id/activity_main" android:layout_height="match_parent"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/landscape" android:layout_alignParentTop="true" android:layout_alignParentStart="true" android:id="@+id/imageView2" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:text="" android:hint="Adınızı Yazın" android:ems="10" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" android:id="@+id/editText" /> <Button android:text="Giriş Yap" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/editText" android:layout_centerHorizontal="true" android:layout_marginTop="44dp" android:id="@+id/button" /> <TextView android:text="Mesaj" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:id="@+id/textView" /> </RelativeLayout> |
Selam, Oncelikle teshekkur ederim ogrenerek izliyorum videolarinizi. shu anda 12 ci dersteyim android nougat da. Turkce Bashka bir kaynak daha ariyorum kitap olarak. Hangi kitabi tavsiyye edersiniz ? kitabi sifarish vericem o gelene kadar sizin derslerinizi bitiririm. ingilizceyi orta seviyye ustude biliyorum ama once turkce iyi bir alt yapi hazirlayip sonra ingilizce konulara dalmak istiyorum. shu an ki biliyimle girsem hevesim kirila bilir. Teshekkur ederim birdaha.