Anda di halaman 1dari 7

MENU

Di android, Menu Option adalah kumpulan item menu untuk suatu aktivitas dan berguna untuk
mengimplementasikan tindakan yang memiliki dampak global pada aplikasi, seperti
Pengaturan, Pencarian, dll.
Dengan menggunakan Menu Option, kita dapat menggabungkan beberapa tindakan dan opsi
lain yang relevan dengan activity yan ada saat ini. Kita dapat menentukan item untuk menu
option dari Activity atau Fragment class.

Step 1 : Buat Android Option Menu pada XML File

Pada android studio, untuk mendefenisikan options menu, kita harus membuat folder menu di
dalam project resource directory (res/menu/) and buat sebuag file XML (menu_example) file to
build the menu.
Following is the example of defining a menu in an XML file (menu_example.xml).
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/logout"
android:title="Logout" />
<item android:id="@+id/regsitrasi"
android:title="Registrasi" />
<item android:id="@+id/share"
android:title="Share" />
</menu>

Step 2 : Gunakan Fungsi Android Option Menu dari Activity

Pada Activity Utama kita perlu menggunakan metode override onCreateOptionsMenu() dan
mendefenisikan menu resource menggunakan MenuInflater.inflate() , seperti code dibawah ini

.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_example, menu);
return true;
}
}

Step 3 : Penanganan Android Option Menu Event Click

di android, kita dapat menangani options menu item click events


menggunakan onOptionsItemSelected() event method, ikuti contoh code dibawah untuk
menangani options menu item click event menggunakan onOptionsItemSelected().

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.logout:
Intent i = new Intent(getApplicationContext(),Tugas2_151223.class);
startActivity(i);
return true;
case R.id.regsitrasi:
Toast.makeText(getApplicationContext(), "Your Choice Regsitrasi Menu",
Toast.LENGTH_LONG).show();
return true;
case R.id.share:
Toast.makeText(getApplicationContext(), "Your Choice Share Menu",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onContextItemSelected(item);
}
}
Keterangan :

Attribute Description

android:id It is used to uniquely identify an element in application.

android:icon It is used to set the item's icon from the drawable folder.

android:title It is used to set the item's title

android:showAsAction It is used to specify how the item should appear as an action item in
the app bar.

Sehingga Kode Activity seperti dibawah ini

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("DIPANEGARA");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_example, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.logout:
Intent i = new Intent(getApplicationContext(),Tugas2_151223.class);
startActivity(i);
return true;
case R.id.regsitrasi:
Toast.makeText(getApplicationContext(), "Your Choice Regsitrasi
Menu", Toast.LENGTH_LONG).show();
return true;
case R.id.share:
Toast.makeText(getApplicationContext(), "Your Choice Share Menu",
Toast.LENGTH_LONG).show();
return true;
default:
return super.onContextItemSelected(item);
}
}
}
Step 4 : Run Project Android
BOTTOM MENU

Step 1 : Make sure you have design support library in your build.gradle.
dependencies {
………
implementation 'com.android.support:design:28.0.0'
………
}

Step 2 : Add below color, string values to your colors.xml and strings.xml.
Colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#d5ce92</color>
<color name="colorPrimaryDark">#fff38f</color>
<color name="colorAccent">#D81B60</color>
<color name="bgBottomNavigation">#fe485a</color>
</resources>

Strings.xml
<resources>
<string name="app_name">DIPANEGARA</string>
<string name="title_activity_bot">BotActivity</string>
<string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string>
<string name="title_notifications">Notifications</string>

</resources>

Step 3 : As the Bottom Navigation items rendered using a menu file, create a new xml
named navigation.xml under res ⇒ menu folder.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />

<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"
android:title="@string/title_dashboard" />

<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />
</menu>

Step 4 : Open the layout file of main activity i.e activity_main.xml and
add BottomNavigationView widget. Here we are also adding a FrameLayout to load
the Fragments when the navigation item is selected.
<?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">

<ImageView
android:id="@+id/imageView"
android:layout_width="205dp"
android:layout_height="229dp"
android:layout_marginTop="152dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/dipa" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableBottom="@drawable/undipalogo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
/>

<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@color/colorAccent"
app:itemTextColor="@android:color/white"
app:menu="@menu/navigation"/>

</androidx.constraintlayout.widget.ConstraintLayout>

Step 5 : Now open MainActivity.java and modify it as below.


Here, OnNavigationItemSelectedListener will be called when the bottom navigation
item is selected. For now we are just changing the toolbar title upon selecting the navigation
item

public class MainActivity extends AppCompatActivity {


private ActionBar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("DIPANEGARA");

toolbar = getSupportActionBar();
BottomNavigationView navigation = findViewById(R.id.navigation);

navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
}

private OnNavigationItemSelectedListener mOnNavigationItemSelectedListener


= new OnNavigationItemSelectedListener() {

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_dashboard:
toolbar.setTitle("Dasboard");
return true;
case R.id.navigation_home:
toolbar.setTitle("Home");
return true;
case R.id.navigation_notifications:
toolbar.setTitle("Notification");
return true;
}
return false;
}
};
}

Step 6 : Run Apps

Anda mungkin juga menyukai