Tutorial Android Tab Layout

Bagikan:

Okey, kali ini kita akan belajar pembuatan aplikasi android tentang Android Tab Layout dengan bahasa pemrograman native alias menggunakan Java, XML, dan kawan-kawannya. Yang perlu diperhatikan, jika kalian menggunakan bahasa native maka kalian akan sering bertemu dengan pemrograman. Akan berbeda jika kalian menggunakan aplikasi yang tanpa koding. Namun, akan banyak sekali kelebihan yang akan kalian temukan jika menggunakan bahasa native tentunya.

Okey, cus inilah penampakan hasil akhir aplikasi yang akan kalian buat nantinya. Berisi tiga tab layout seperti gambar berikut.
hasil akhir tab layout

Dalam masing-masing tab tersebut akan ada tampilan layar yang berbeda sesuai dengan tabnya. Hokelah langsung kita eksekusi saja ya. Btw, biasanya project dengan native ini saya buat dengan Android Studio. Dulu sih sempet pake Eclipse, tapi sepertinya sekarang sudah tidak didukung lagi oleh Google. So, beralihlah semua ke Android Studio.

  1. Buat project baru dengan File -> New -> Android Project and berikan nama activity dengan AndroidTabLayoutActivity
  2. Sekarang buka AndroidTabLayoutActivity dan kita buat class untuk TabActivity
    public class AndroidTabLayoutActivity extends TabActivity {
  3. Kemudian buka file main.xml di dalam folder res -> layout dan tambahkan kode berikut.
    <?xml version="1.0" encoding="utf-8"?>
    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@android:id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" />
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"/>
        </LinearLayout>
    </TabHost>
  4. Sekarang yang kita butuhkan adalah 3 activity dan 3 layout dengan xml untuk tiga tab. So, kita buat tiga activity dengan klik kanan folder package activity -> New -> Class. Berikan nama masing-masing PhotosActivity.java, SongsActivity.java, dan VideosActivity.java. Kemudian masukkan kode berikut ke maisng-masing layout yang sesuai.
    Kode berikut untuk PhotosActivity.java

    package com.example.androidtablayout;
     
    import android.app.Activity;
    import android.os.Bundle;
     
    public class PhotosActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.photos_layout);
        }
    }
    

    Kode berikut untuk SongsActivity.java

    package com.example.androidtablayout;
     
    import android.app.Activity;
    import android.os.Bundle;
     
    public class SongsActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.songs_layout);
        }
    }
    

    Kode berikut untuk VideosActivity.java

    package com.example.androidtablayout;
     
    import android.app.Activity;
    import android.os.Bundle;
     
    public class VideosActivity extends Activity {
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.videos_layout);
        }
    }
  5. Sekarang buat 3 layout xml dengan klik kanan pada res/layout -> New -> Android XML File kemudian berikan nama photos_layout.xml, songs_layout.xml, dan videos_layout.xml lalu masukkan kode berikut ke masing-masing layout yang sesuai.
    Kode untuk photos_layout.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
       
      <!-- Screen Design for Photos -->
      <TextView android:text="PHOTOS HERE"
                android:padding="15dip"
                android:textSize="18dip"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"/>
         
    </LinearLayout>
    

    Kode untuk songs_layout.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
       
      <!-- Screen Design for the SONGS -->
      <TextView android:text="SONGS HERE"
                android:padding="15dip"
                android:textSize="18dip"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"/>
    </LinearLayout>
    

    Kode untuk videos_layout.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
       
      <!--  Screen Design for VIDEOS -->
      <TextView android:text="VIDEOS HERE"
                android:padding="15dip"
                android:textSize="18dip"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"/>
    </LinearLayout>
  6. Nah, sekarang pada setiap tab akan kita tambahkan ikon. Tentunya pastikan kalian sudah menyiapkan desain untuk masing-masing ikon tab tersebut. Desain pada masing-masing ikon memiliki tiga ukuran yakni in 48 x 48 px, 32 x 32 px, dan 24 x 24 px lalu posisikan ikon tersebut ke dalam folder drawable-hdpi, drawable-mdpi and drawable-ldpi sesuai ukurannya. DI sini saya menggunakan ikon seperti gambar berikut ya.
    ukuran ikon
  7. Langkah selanjutnya adalah memanggil gambar ikon tersebut dalam file xml untuk konfigurasi posisi normal (default) dan hover. Kita memiliki tiga ikon berarti kita juga harus membuat 3 file xml di dalam folder/direktori drawable-hdpi. Masukkan kode berikut untuk masing-masing xml ikon.
    Kode untuk icon_photos_tab.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- When selected, use grey -->
        <item android:drawable="@drawable/photos_gray"
              android:state_selected="true" />
        <!-- When not selected, use white-->
        <item android:drawable="@drawable/photos_white" />
    </selector>

    Kode untuk icon_songs_tab.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- When selected, use grey -->
        <item android:drawable="@drawable/songs_gray"
              android:state_selected="true" />
        <!-- When not selected, use white-->
        <item android:drawable="@drawable/songs_white" />
    </selector>

    Kode untuk icon_videos_tab.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- When selected, use grey -->
        <item android:drawable="@drawable/videos_gray"
              android:state_selected="true" />
        <!-- When not selected, use white-->
        <item android:drawable="@drawable/videos_white" />
    </selector>
  8. Sekarang buka AndroidTabLayoutActivity.java dan masukkan kode berikut. Dalam kode ini, kita membuat tiga TabSepcs dan menambahkannya ke TabHost.
    Kode untuk AndroidTabLayoutActivity.java

    package com.example.androidtablayout;
     
    import android.app.TabActivity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.widget.TabHost;
    import android.widget.TabHost.TabSpec;
     
    public class AndroidTabLayoutActivity extends TabActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
             
            TabHost tabHost = getTabHost();
             
            // Tab for Photos
            TabSpec photospec = tabHost.newTabSpec("Photos");
            // setting Title and Icon for the Tab
            photospec.setIndicator("Photos", getResources().getDrawable(R.drawable.icon_photos_tab));
            Intent photosIntent = new Intent(this, PhotosActivity.class);
            photospec.setContent(photosIntent);
             
            // Tab for Songs
            TabSpec songspec = tabHost.newTabSpec("Songs");       
            songspec.setIndicator("Songs", getResources().getDrawable(R.drawable.icon_songs_tab));
            Intent songsIntent = new Intent(this, SongsActivity.class);
            songspec.setContent(songsIntent);
             
            // Tab for Videos
            TabSpec videospec = tabHost.newTabSpec("Videos");
            videospec.setIndicator("Videos", getResources().getDrawable(R.drawable.icon_videos_tab));
            Intent videosIntent = new Intent(this, VideosActivity.class);
            videospec.setContent(videosIntent);
             
            // Adding all TabSpec to TabHost
            tabHost.addTab(photospec); // Adding photos tab
            tabHost.addTab(songspec); // Adding songs tab
            tabHost.addTab(videospec); // Adding videos tab
        }
    }
  9. Now, semua yang dibutuhkan sudah lengkap dan sebelum menjalankan project, pastikan untuk menambahkan activity baru di file AndroidManifest.xml. Buka file AndroidManifest.xml file kemudian modifikasi kodenya seperti berikut.
    Kode untuk AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.androidtablayout"
          android:versionCode="1"
          android:versionName="1.0">
        <uses-sdk android:minSdkVersion="8" />
     
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".AndroidTabLayoutActivity"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
             
            <!--  Songs Activity -->
            <activity android:name=".SongsActivity" />
             
            <!--  Videos Activity -->
            <activity android:name=".VideosActivity" />
             
            <!--  Photos Activity -->
            <activity android:name=".PhotosActivity" />
     
        </application>
    </manifest>
  10. Finally, well done. Sekarang kita tes project-nya dengan klik kanan folder -> Run As -> Android Application.

Nah, sudah muncul kan ketiga tab navigasinya? Kalau belum, corat-coret deh dengan berkomentar. Diriku akan coba bantu untuk dirimu asalkan tidak menyerah karena pusing koding yes. Berikut kode lengkapnya yang bisa kalian download. Selamat belajar 🙂
Download Android Tab Layout

Bagikan:
0 0 votes
Rating Artikel
Subscribe
Notify of
guest

0 Comments
Umpan Balik Sebaris
Lihat semua komentar