PENDAHULUAN
3. Meng-inflate menu
Untuk menggunakan menu dalam aktivitas, anda perlu meng-inflate
resource menu (meng-onversi resource XML menjadi objek). Pengguna
dapat melakukannya dalam metode oncreate-options-menu di kelas
aktivitas pengguna.
4. Mengatur aksi menu
Pengguna dapat mengatur aksi yang terkait dengan item menu
menggunakan metode khusus, seperti on-options-item-selected.
5. Menampilkan menu
Untuk menampilkan menu, pengguna dapat menggunakan metode show-
menu atau show-context-menu.
2.2 Membuat tab
Untuk membuat tab di android studio, anda dapat mengikuti langkah-
langkah berikut:
1. Tab layout
• Tab layout adalah bagian dari android design support library yang
menyediakan antarmuka pengguna untuk menyusun konten menjadi
beberapa tab.
• Digunakan untuk membuat tata letak yang memungkinkan pengguna
untuk beralih antara bagian atau kategori berbeda dalam aplikasi.
2. View pager
• View-pager adalah wadah untuk mengelola dan menampilkan fragmen
atau tampilan halaman yang berbeda.
• Biasanya digunakan bersama dengan tab layout untuk membuat
antarmuka tab yang dapat digulir.
3. Fragment
• Fragment digunakan untuk merepresentasikan bagian dari antarmuka
pengguna atau perilaku dalam aplikasi android.
• Setiap tab dapat memiliki fragmen yang berbeda untuk menampilkan
konten yang sesuai.
4. Adapter
• Sebuah adapter (misalnya, fragment-pager-adapter atau pragment-
state-pager-adapter) digunakan untuk menyediakan fragmen yang akan
ditampilkan dalam view pager.
• Adapter membantu mengelola tampilan dan memastikan responsif
terhadap perubahan tab.
5. Implementasi tab
• Dalam XML layout, anda menambahkan tab layout dan view pager.
• Dalam aktivitas, anda membuat adapter untuk mengelola fragmen dan
meng-onfigurasi tab layout untuk berinteraksi dengan view pager.
// Inisialisasi TabLayout dan ViewPager
viewPager.setAdapter(tabAdapter);
tabLayout.setupWithViewPager(viewPager);
6. Tab adapter
• Tab adapter adalah kelas adapter yang anda buat untuk mengelola
fragmen dan menentukan tindakan yang terkait dengan setiap tab.
7. Pager title strip
• Pager title strip dapat ditambahkan untuk menampilkan judul tab di
bagian atas view pager.
8. Cumtomization
• Anda dapat menyesuaikan tata letak, warna, dan gaya tab sesuai dengan
kebutuhan desain aplikasi.
9. Responsif terhadap perubahan
• Tab layout dan view pager memungkinkan pengguna untuk beralih
antara fragmen dengan menggeser atau mengetuk tab.
• Adapter memastikan bahwa konten yang sesuai ditampilkan saat
pengguna memilih tab baru.
BAB III
HASILDAN PEMBAHASAN
BAB IV
IMPLEMENTASI
</menu>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="bottom" />
</LinearLayout>
</TabHost>
import com.uts.contohtab.MainActivity1;
import com.uts.contohtab.MainActivity2;
import com.uts.contohtab.MainActivity3;
import com.uts.contohtab.R;
@SuppressWarnings("deprecation")
public class mainactivity extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabHost tabhost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
intent = new Intent().setClass(this, MainActivity1.class);
TabHost spectabhost;
spec= tabhost.newTabSpec("Activity1").setIndicator("Activity 1",
null).setContent(intent);
tabhost.addTab(spec);
intent = new Intent().setClass(this, MainActivity2.class);
spec = tabhost.newTabSpec("Activity2").setIndicator("Activity2",
null).setContent(intent);
tabhost.addTab(spec);
4.2.2 Jawaban
1. Membuat option menu
a. Kode program xml 1.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<item
app:showAsAction="always"
android:icon="@drawable/titik"
android:title="">
<menu>
<item
android:id="@+id/cerita"
android:title="Cerita Saya"
android:icon="@drawable/cerita"
app:showAsAction="never"/>
<item
android:id="@+id/grup"
android:title="Group Baru"
android:icon="@drawable/grup"
app:showAsAction="never"/>
<item
android:id="@+id/teman"
android:title="Undang Teman"
android:icon="@drawable/undang"
app:showAsAction="never"/>
<item
android:id="@+id/call"
android:icon="@drawable/ic_baseline_call_24"
android:title="call"
app:showAsAction="never"/>
<item
android:id="@+id/simpan"
android:title="Pesan Tersimpan"
android:icon="@drawable/pesan"
app:showAsAction="never"/>
<item
android:id="@+id/setting"
android:icon="@drawable/pengaturan"
android:title="Pengaturan"
app:showAsAction="never"/>
</menu>
</item>
</menu>
c. Kode program Java
package com.kuliah.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {
case R.id.cerita:
Toast.makeText(getApplicationContext(), "Menu Cerita Saya dipilih",
Toast.LENGTH_LONG).show();
return true;
case R.id.grup:
Toast.makeText(getApplicationContext(), "Menu grup dipilih",
Toast.LENGTH_LONG).show();
return true;
case R.id.teman:
Toast.makeText(getApplicationContext(), "Menu teman dipilih",
Toast.LENGTH_LONG).show();
return true;
case R.id.call:
Toast.makeText(getApplicationContext(), "Menu call dipilih",
Toast.LENGTH_LONG).show();
return true;
case R.id.simpan:
Toast.makeText(getApplicationContext(), "Menu simpan dipilih",
Toast.LENGTH_LONG).show();
return true;
case R.id.setting:
Toast.makeText(getApplicationContext(), "Menu Pengaturan dipilih",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onOptionsItemSelected(item);
} }
}
4.3.2 Jawaban
1. Membuat custom layout navigation view.
a. Kode program xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:orientation="vertical"
android:gravity="bottom">
<ImageView
android:id="@+id/imageView"
android:layout_width="75dp"
android:layout_height="77dp"
android:contentDescription="@string/nav_header_desc"
android:paddingTop="@dimen/nav_header_vertical_spacing"
app:srcCompat="@drawable/logo" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing"
android:text="Fahmi Kusairi"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Praktikum android bikin sakit kepala"
android:id="@+id/textView" />
</LinearLayout>
5.1 Analisa
Menu dan tab di android studio adalah komponen penting dalam aplikasi
yang memungkinkan pengguna untuk mengakses berbagai fitur dan fungsi
dalam aplikasi dengan mudah dan intuitif. Menu dapat berupa tiga jenis:
menu opsi, menu konteks, dan sub menu, sementara tab digunakan untuk
mengorganisir konten dan memungkinkan pengguna untuk beralih antara
tampilan yang berbeda.
5.2 Kesimpulan
Dengan memahami dasar teori tentang menu dan tab di android studio,
user dapat membuat dan mengelola menu dan tab dengan efisien dalam
aplikasi. User perlu menambahkan kode XML dan Java (fragments) ke dalam
proyek untuk menggunakan tab layout dan view pager, atau tab host. Selain
itu, user juga perlu memahami cara menggunakan adapter untuk mengatur
konten yang akan ditampilkan dalam tab.
5.3 Saran
Untuk menggunakan menu dan tab dalam android studio, user perlu
memahami cara mendefinisikan menu dalam file XML, menggunakannya di
aktivitas, dan mengatur konten dalam tab. Selain itu, user juga perlu
memahami cara membuat tab dengan tab layout dan view pager, atau tab
host. Dengan memahami cara-cara ini, user akan dapat membuat dan
mengelola menu dan tab dalam proyek android studio dengan lebih baik.