Popup Menu Share Option in Android Tutorials
Hai sobat, kembali lagi dengan saya, capek juga karena tugas dan internet berbanding terbalik haha. Pada artikel sebelumnya yang berjudul spinner combolist in android , saya telah menjelaskan bagaimana membuat spinner atau combobox di android. Kali ini saya telah menjelaskan tentang popup menu di android.
Popup menu adalah dialog yang menmpilkan menu di jendela munculan. Dan mungkin fungsinya akan sama seperti spinner di android, tergantung penguunaan. Tapi perbedaan dari antara popup menu dan spinner adalah jika kita ingin membuat popup menu, kita harus membuat file baru yang menyimpan kumpulan menu yang nantinya akan ditampilkan, berbeda dengan spinner yang haya membuat array pada kode java spinner.
Untuk membuat popup menu di android, berikut caranya :
Pertama buat projek baru dengan nama popup, sedangkan package beri nama blogsetyaaji.com
Pada activity_main.xml, tambahkan kodenya seperti berikut ini
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.blogsetyaaji.popupmenu.MainActivity">
<TextView
android:id="@+id/teksMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MENU YANG DIPILIH"
android:textSize="20dp"/>
<Button
android:id="@+id/btnPopup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="SHOW"
android:layout_below="@id/teksMenu"
android:layout_marginTop="20dp" />
</RelativeLayout>
Setelah itu sobat buat file untuk menampung menu yang nanti akan ditampilkan, pertama klik kanan folder res > new > directory. Akan muncul jendela baru, berikan nama "menu" untuk directory.
Direcory menu pun muncul, klik kanan lalu pilih new > menu resource file, dan berinama menu_main, klik ok dan aka muncul file baru bernama menu_main.xml.
Untuk menu_main.xml ketikkan kodenya seperti berikut
<?xml version="1.0" encoding="utf-8"?>
<menu 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">
<item
android:id="@+id/action_setting"
android:title="Setting"
android:orderInCategory="100"
app:showAsAction="never" />
<item
android:id="@+id/menuSatu"
android:title="Menu Satu" />
<item
android:id="@+id/menuDua"
android:title="Menu Dua" />
<item
android:id="@+id/menuTiga"
android:title="Menu Tiga" />
<item
android:id="@+id/shareItem"
android:title="Share"
android:actionProviderClass="android.widget.ShareActionProvider"/>
</menu>
Setelah itu, pindah ke MainActivity.java, buat kodenya seperti berikut ini
package com.blogsetyaaji.popupmenu;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.PopupMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements PopupMenu.OnMenuItemClickListener{
TextView teksMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
teksMenu = (TextView) findViewById(R.id.teksMenu);
Button btnPopup = (Button) findViewById(R.id.btnPopup);
btnPopup.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu menuPopup = new PopupMenu(MainActivity.this, v);
menuPopup.setOnMenuItemClickListener(MainActivity.this);
menuPopup.inflate(R.menu.menu_main);
menuPopup.show();
}
});
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.menuSatu:
teksMenu.setText("Kamu memilih menu satu");
return true;
case R.id.menuDua:
teksMenu.setText("Kamu memilih menu dua");
return true;
case R.id.menuTiga:
teksMenu.setText("Kamu memilih menu tiga");
return true;
case R.id.shareItem:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_SUBJECT, "Ini Judul Sahare");
share.putExtra(Intent.EXTRA_TEXT, "http://blogsetyaaji.blogspot.com");
startActivity(Intent.createChooser(share, "Share Link !"));
}
return true;
}
}
Setelah selesai, maka hasilnya akan jadi seperti gambar di bawah. Jika sobat menyentuh tombol show dan memilih menu, maka tulisan pada teks yang ada akan berubah menyesuaikan menu yang dipilih.
Jika sobat memilih menu share, maka alamat blogsetyaaji.blogspot.com akan terbagi dengan aplikasi yang bersangkutan, kebetulan saya membagi dengan aplikasi messager dan berikut tampilanya
Jadi konsepnya sama dengan membuat spinner, sama-sama harus menyiapkan sesuatu yang kana ditampilkan nantinya. Dan sekian artikel tentang Popup Menu Android Tutorial semoga bermanfaat.
Post a Comment