Android Action Bar adalah Salah satu navigasi andalan yang dipakai oleh para developer adalah pemanfaatan action bar. Sebetulnya apa sih action bar itu kalau dari kata-katanya sih aratinya bar yang digunakan untuk mentrigger suatu aksi. Nah barnya ini bisa seperti
menu bar, tool bar, sliding bar (navigation drawer), tab bar, apa lagi yah, coba cari di devleoper.android.com dan androidhive.info
Untuk lebih jelasnya ini ada gambar bisa dilihat di
http://androidhive.info Pada kesempatan kali ini kita akan coba gunakan action bar sebagai action buttons dan overflow menu untuk membuat aplikasi jadwal pelajaran
Bagusnya sih kalau buat aplikasi kita buat dulu design user interfacenya. Kalau untu kebutuhan ini berarti di action barnya ada menu untuk menampilkan jadwal (
Senin, Selasa, Rabu, Kamis, Jumat, Semua).
Setelah klik Next samapi Finish maka project baru akan tergenerate.
2. Sekarang kita siapkan menu untuk aplikasi ini, masuk directory
res/menu lalu edit
main.xml 04 | android:id = "@+id/action_senin" |
05 | android:orderInCategory = "100" |
06 | android:showAsAction = "never" |
07 | android:title = "Senin" /> |
09 | android:id = "@+id/action_selasa" |
10 | android:orderInCategory = "100" |
11 | android:showAsAction = "never" |
12 | android:title = "Selasa" /> |
14 | android:id = "@+id/action_rabu" |
15 | android:orderInCategory = "100" |
16 | android:showAsAction = "never" |
17 | android:title = "Rabu" /> |
19 | android:id = "@+id/action_kamis" |
20 | android:orderInCategory = "100" |
21 | android:showAsAction = "never" |
22 | android:title = "Kamis" /> |
24 | android:id = "@+id/action_jumat" |
25 | android:orderInCategory = "100" |
26 | android:showAsAction = "never" |
27 | android:title = "Jumat" /> |
3. Sekarang kita urus layout user interfacenya, edit file res/layout
activity_main.xml 03 | android:layout_width = "match_parent" |
04 | android:layout_height = "match_parent" |
05 | android:paddingBottom = "@dimen/activity_vertical_margin" |
06 | android:paddingLeft = "@dimen/activity_horizontal_margin" |
07 | android:paddingRight = "@dimen/activity_horizontal_margin" |
08 | android:paddingTop = "@dimen/activity_vertical_margin" |
09 | tools:context = ".MainActivity" > |
12 | android:id = "@+id/textViewHari" |
13 | android:layout_width = "wrap_content" |
14 | android:layout_height = "wrap_content" |
15 | android:layout_alignParentLeft = "true" |
16 | android:layout_alignParentTop = "true" |
18 | android:textAppearance = "?android:attr/textAppearanceMedium" /> |
21 | android:id = "@+id/listViewJadwal" |
22 | android:layout_width = "match_parent" |
23 | android:layout_height = "wrap_content" |
24 | android:layout_alignLeft = "@+id/textViewHari" |
25 | android:layout_below = "@+id/textViewHari" > |
4. Untuk layout baris pada list view pada directory
res/layout buat file layout baru dengan nama
row_jadwal.xml 01 | <? xml version = "1.0" encoding = "utf-8" ?> |
03 | android:layout_width = "match_parent" |
04 | android:layout_height = "match_parent" > |
07 | android:id = "@+id/textViewRowJam" |
08 | android:layout_width = "75dp" |
09 | android:layout_height = "wrap_content" |
10 | android:layout_alignParentLeft = "true" |
11 | android:layout_alignParentTop = "true" |
12 | android:text = "TextView" /> |
15 | android:id = "@+id/textViewRowPelajaran" |
16 | android:layout_width = "wrap_content" |
17 | android:layout_height = "wrap_content" |
18 | android:layout_alignParentTop = "true" |
19 | android:paddingLeft = "10dp" |
20 | android:layout_toRightOf = "@+id/textViewRowJam" |
21 | android:text = "TextView" /> |
3. Buat class baru dengan nama
Jadwal.java lalu ketikkan kode berkut
01 | package com.agusharyanto.jadwalpelajaran; |
04 | public String hari= "" ; |
06 | public String pelajaran= "" ; |
08 | public Jadwal (String pday, String ptime, String plesson){ |
11 | this .pelajaran = plesson; |
4. Buat Class baru dengan nama
AdapterJadwal.java lalu ketikan kode berikut
01 | package com.agusharyanto.jadwalpelajaran; |
03 | import java.util.ArrayList; |
05 | import android.app.Activity; |
06 | import android.content.Context; |
07 | import android.view.LayoutInflater; |
08 | import android.view.View; |
09 | import android.view.ViewGroup; |
10 | import android.widget.ArrayAdapter; |
11 | import android.widget.TextView; |
13 | public class AdapterJadwal extends ArrayAdapter<Jadwal> { |
14 | private Activity activity; |
15 | private ArrayList<Jadwal> lJadwal; |
16 | private static LayoutInflater inflater = null ; |
18 | public AdapterJadwal (Activity activity, int textViewResourceId,ArrayList<Jadwal> al_Jadwal) { |
19 | super (activity, textViewResourceId, al_Jadwal); |
21 | this .activity = activity; |
22 | this .lJadwal = al_Jadwal; |
24 | inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
26 | } catch (Exception e) { |
31 | public int getCount() { |
32 | return lJadwal.size(); |
35 | public long getItemId( int position) { |
39 | public static class ViewHolder { |
41 | public TextView pelajaran; |
45 | public View getView( int position, View convertView, ViewGroup parent) { |
46 | View vi = convertView; |
47 | final ViewHolder holder; |
49 | if (convertView == null ) { |
50 | vi = inflater.inflate(R.layout.row_jadwal, null ); |
51 | holder = new ViewHolder(); |
53 | holder.jam = (TextView) vi.findViewById(R.id.textViewRowJam); |
54 | holder.pelajaran = (TextView) vi.findViewById(R.id.textViewRowPelajaran); |
58 | holder = (ViewHolder) vi.getTag(); |
61 | holder.jam.setText(lJadwal.get(position).jam); |
62 | holder.pelajaran.setText(lJadwal.get(position).pelajaran); |
64 | } catch (Exception e) { |
4. Edit
MainActivity.java lalu ketikkan kode berikut
001 | package com.agusharyanto.jadwalpelajaran; |
003 | import java.util.ArrayList; |
005 | import android.app.Activity; |
006 | import android.os.Bundle; |
007 | import android.view.Menu; |
008 | import android.view.MenuItem; |
009 | import android.widget.ListView; |
010 | import android.widget.TextView; |
012 | public class MainActivity extends Activity { |
013 | ArrayList <Jadwal> list_jadwal = new ArrayList<Jadwal>(); |
015 | ListView listviewjadwal ; |
017 | protected void onCreate(Bundle savedInstanceState) { |
018 | super .onCreate(savedInstanceState); |
019 | setContentView(R.layout.activity_main); |
020 | tvhari = (TextView) findViewById(R.id.textViewHari); |
021 | listviewjadwal = (ListView) findViewById(R.id.listViewJadwal); |
025 | public void initData() { |
026 | list_jadwal.add( new Jadwal( "Senin" , "08:00-10:00" , "Matematika" )); |
027 | list_jadwal.add( new Jadwal( "Senin" , "10:00-12:00" , "Agama Islam" )); |
028 | list_jadwal.add( new Jadwal( "Senin" , "12:00-13:00" , "Istirahat" )); |
029 | list_jadwal.add( new Jadwal( "Senin" , "13:00-15:00" , "Fisika" )); |
030 | list_jadwal.add( new Jadwal( "Selasa" , "08:00-10:00" , "Bahaa Indonesia" )); |
031 | list_jadwal.add( new Jadwal( "Selasa" , "10:00-12:00" , "Kimia" )); |
032 | list_jadwal.add( new Jadwal( "Selasa" , "12:00-13:00" , "Istirahat" )); |
033 | list_jadwal.add( new Jadwal( "Selasa" , "13:00-15:00" , "Biologi" )); |
034 | list_jadwal.add( new Jadwal( "Rabu" , "08:00-10:00" , "Matematika" )); |
035 | list_jadwal.add( new Jadwal( "Rabu" , "10:00-12:00" , "Seni Rupa" )); |
036 | list_jadwal.add( new Jadwal( "Rabu" , "12:00-13:00" , "Istirahat" )); |
037 | list_jadwal.add( new Jadwal( "Rabu" , "13:00-15:00" , "Bahasa Inggris" )); |
038 | list_jadwal.add( new Jadwal( "Kamis" , "08:00-10:00" , "Fisika" )); |
039 | list_jadwal.add( new Jadwal( "Kamis" , "10:00-12:00" , "Penjaskes" )); |
040 | list_jadwal.add( new Jadwal( "Kamis" , "12:00-13:00" , "Istirahat" )); |
041 | list_jadwal.add( new Jadwal( "Kamis" , "13:00-15:00" , "Geografi" )); |
042 | list_jadwal.add( new Jadwal( "Jumat" , "08:00-10:00" , "Pemrograman Java" )); |
043 | list_jadwal.add( new Jadwal( "Jumat" , "10:00-12:00" , "Pemrograman Android" )); |
044 | list_jadwal.add( new Jadwal( "Jumat" , "12:00-13:00" , "Istirahat" )); |
045 | list_jadwal.add( new Jadwal( "Jumat" , "13:00-15:00" , "Logika Algoritma" )); |
049 | public boolean onCreateOptionsMenu(Menu menu) { |
051 | getMenuInflater().inflate(R.menu.main, menu); |
052 | return super .onCreateOptionsMenu(menu); |
056 | * On selecting action bar |
059 | public boolean onOptionsItemSelected(MenuItem item) { |
061 | switch (item.getItemId()) { |
062 | case R.id.action_senin: |
065 | case R.id.action_selasa: |
067 | showJadwal( "Selasa" ); |
069 | case R.id.action_rabu: |
072 | case R.id.action_kamis: |
075 | case R.id.action_jumat: |
079 | return super .onOptionsItemSelected(item); |
083 | public void showJadwal(String hari) { |
085 | tvhari.setText( "Hari " + hari); |
086 | ArrayList<Jadwal> jadwal_terpilih = new ArrayList<Jadwal>(); |
087 | for ( int i = 0 ; i < list_jadwal.size(); i++) { |
088 | Jadwal jadwal = list_jadwal.get(i); |
089 | if (jadwal.hari.equals(hari)) { |
090 | jadwal_terpilih.add(jadwal); |
094 | AdapterJadwal adapterjadwal = new AdapterJadwal(MainActivity. this , 0 , |
096 | listviewjadwal.setAdapter(adapterjadwal); |
5. Saatnya Run Projectnya, klik pojok kanan untuk memunculkan menu
Pilih Senin
Untuk saat ini pada saat aplikasi dijalankan tampilannya kosong. harusnya kita bisa langsung menampilkan jadwal hari ini. Nah silahkan mencoba menyelesiakannya
Semoga Bermanfaat
Download Setup File from Downloader (100% Working Link)
0 Komentar untuk "Belajar membuat Android Action Bar Studi Kasus Aplikasi Jadwal Pelajaran"
Silahkan berkomentar dengan bijak dan positif. Komentar anda menunjukkan sikap anda. Terima kasih :-)