Bir önceki dersimizde listView'deki elemanların Costum Dialog ile nasıl güncellendiğinden bahsetmiştik(.Bu yazımı daha iyi anlayabilmeniz için bir önceki yazıma mutlaka bakmanızda fayda var.isteyenler burdan bakabilir).Bu dersimizde ise listemize yeni eleman eklemeyi göreceğiz. Bunu Action Bar üzerinden yapacağız. Aşağıdaki gibi ;
Gördüğünüz gibi Action Bar üzerinde bir kaç değişiklik yaptık; -icon ekledik -ismini özelleştirdik -bir tane de "+" icon resmi bir item ekledik(sağ tarafta). Listeye elaman ekleme işlemini bu buton üzerinden yapacağız . Bu butona tıkladığımızda, karşımızda yukarıdaki gibi Dialog ekranı belirecek. Tasarımı oldukça basit tutmaya çalışıyorum. Ben icon olarak 2 tane "+" kullandım isteyenler daha farklı resim ve de tasarım kullanabilir. Nasıl değiştirebileceğinizi birazdan göstereceğim. Öncelikle ekle_dialog.xml adında bir tane layout oluşturup içinin aşağıdaki gibi olmasını sağlayalım.
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 | <?xml version="1.0" encoding="utf-8"?>android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/background_dark"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="@android:color/background_dark" ><ImageViewandroid:id="@+id/imageView1"android:layout_width="50dp"android:layout_height="50dp"android:src="@drawable/new_content"/><ImageViewandroid:id="@+id/imageView2"android:layout_width="50dp"android:layout_height="50dp"android:layout_weight="1"android:src="@drawable/new_content" /></LinearLayout><EditTextandroid:id="@+id/editText1"android:layout_width="match_parent"android:layout_height="wrap_content"android:ems="10"android:textColor="@android:color/white" ><requestFocus /></EditText><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:textColor="@android:color/white"android:text="ekle" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="iptal"android:textColor="@android:color/white"android:layout_weight="1" /></LinearLayout></LinearLayout> |
1 2 3 4 5 | actionBar = getActionBar();actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);actionBar.setDisplayShowHomeEnabled(true);actionBar.setTitle("action bar");actionBar.setIcon(R.drawable.giris_logo); |
1 | private ActionBar actionBar; |
1 2 3 4 5 6 7 8 9 10 | private List<String> getListe(){List<String> lists = new ArrayList<String>();lists.add("İstanbul");lists.add("Ankara");lists.add("İzmir");lists.add("Bartın");lists.add("Eskişehir");lists.add("Bursa");return lists;} |
1 | liste = getResources().getStringArray(R.array.liste); |
1 | liste = getListe(); |
1 2 3 4 | <itemandroid:id="@+id/ekle"android:icon="@drawable/new_content"android:showAsAction="ifRoom"/> |
1 2 3 4 5 6 | @Overridepublic boolean onCreateOptionsMenu(Menu menu) {MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.main, menu);return super.onCreateOptionsMenu(menu);} |
1 2 3 4 5 6 7 8 9 10 | @Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.ekle:AlertEkle();}return super.onOptionsItemSelected(item);} |
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 | private void AlertEkle(){LayoutInflater inflater = LayoutInflater.from(this);View layout = inflater.inflate(R.layout.ekle_dialog, null);final Button ekleBtnn = (Button) layout.findViewById(R.id.button1);final Button iptalBtnn= (Button) layout.findViewById(R.id.button2);final EditText ekleEdt=(EditText) layout.findViewById(R.id.editText1);final AlertDialog.Builder built = new AlertDialog.Builder(this);built.setView(layout);final AlertDialog dialog1 = built.create();dialog1.show();iptalBtnn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {dialog1.cancel();}});ekleBtnn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {liste.add(ekleEdt.getText().toString());adapter.notifyDataSetChanged();dialog1.dismiss();Toast.makeText(getApplicationContext(), ekleEdt.getText().toString()+" eklendi.", Toast.LENGTH_SHORT).show();}});} |


0 yorum:
Yorum Gönder