Menu PopUp Android


Pada contoh menu ini adalah menu memilih Bangun Datar & Ruang yaitu :

  • Bujursangkar
  • Persegipanjang
  • Kubus
  • Balok
Tampilan awal menu :

http://wahcilik.blogspot.com/2016/05/menu-popup-android.html


Untuk memunculkan menu klik buttom Bangun Datar dan Ruang yang berlatarbelakang warna biru, tampilan menu sebagai berikut :

http://wahcilik.blogspot.com/2016/05/menu-popup-android.html


Untuk memilih menu tersebut, klik salah satu menu, misalkan Bujursangkar maka akan muncul layout Bujursangkar sebagai berikut:


http://wahcilik.blogspot.com/2016/05/menu-popup-android.html

Pada Layout Bujursangkar terdapat menu :
  • Gambar Bujursangkar (menampilkan gambar bujursangkar)
  • Mencari Luas Bujursangkar
  • Mencari Kelilingan Bujursangkar
  • Keluar (menu Bangun Datar dan Ruang)

Tampilan layout sebagai berikut:

http://wahcilik.blogspot.com/2016/05/menu-popup-android.html

Menu Persegipanjang :
  • Gambar Persegipanjang (menampilkan gambar persegipanjang)
  • Mencari Luas Persegipanjang
  • Mencari Kelilingan Persegipanjang
  • Keluar (menu Bangun Datar dan Ruang)

Menu Kubus :
  • Gambar Kubus (menampilkan gambar Kubus)
  • Mencari volume Kubus
  • Mencari Luas Kubus
  • Mencari Kelilingan Kubus
  • Keluar (menu Bangun Datar dan Ruang)

Menu Balok :
  • Gambar Balok (menampilkan gambar Balok)
  • Mencari volume Balok
  • Mencari Luas Balok
  • Mencari Kelilingan Balok
  • Keluar (menu Bangun Datar dan Ruang)

Value:
strings.xml

xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">Bangun Datar dan Ruang</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>

</resources>


Layout:

activity_main.xml

<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"
android:background="#fcfcfc"
tools:context="com.wahyudin.mpopbangun.MainActivity" >


<Button
android:id="@+id/pilih_click"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#176CEC"
android:text="Bangun Datar dan Ruang"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#fff"
android:textStyle="bold" />
</RelativeLayout>


bujursangkar.xml

xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bujursangkar"
android:orientation="vertical" >

<Button
android:id="@+id/bujursangkar_click"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#176CEC"
android:text="Bujursangkar"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#fff"
android:textStyle="bold" />
</LinearLayout>


persegipanjang.xml

xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/persegipanjang_click"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#176CEC"
android:text="Persegipanjang"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#fff"
android:textStyle="bold" />

</LinearLayout>


kubus.xml

xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/kubus_click"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#176CEC"
android:text="Kubus"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#fff"
android:textStyle="bold" />
</LinearLayout>


balok.xml

xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/balok_click"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#176CEC"
android:text="Balok"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#fff"
android:textStyle="bold" />
</LinearLayout>


Menu:

mpop.xml

xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/item_bujursangkar"
android:showAsAction="ifRoom|withText"
android:title="Bujursangkar"
android:visible="true"/>
<item
android:id="@+id/item_persegipanjang"
android:showAsAction="ifRoom|withText"
android:title="Persegipanjang"
android:visible="true"/>
<item
android:id="@+id/item_kubus"
android:showAsAction="ifRoom|withText"
android:title="Kubus"
android:visible="true"/>
<item
android:id="@+id/item_balok"
android:showAsAction="ifRoom|withText"
android:title="Balok"
android:visible="true"/>
</menu>


mbujursangkar.xml:

xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
android:id="@+id/item_bujursangkar_gambar"
android:showAsAction="ifRoom|withText"
android:title="Gambar Bujursangkar"
android:visible="true"/>
<item
android:id="@+id/item_bujursangkar_luas"
android:showAsAction="ifRoom|withText"
android:title="Luas Bujursangkar"
android:visible="true"/>
<item
android:id="@+id/item_bujursangkar_keliling"
android:showAsAction="ifRoom|withText"
android:title="Keliling Bujursangkar"
android:visible="true"/>
<item
android:id="@+id/item_bujursangkar_keluar"
android:showAsAction="ifRoom|withText"
android:title="Keluar"
android:visible="true"/>
</menu>



Koding Java:
MainActivity.java

package com.wahyudin.mpopbangun;

import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.PopupMenu;
import android.widget.Toast;
import android.widget.PopupMenu.OnMenuItemClickListener;

public class MainActivity extends ActionBarActivity implements OnMenuItemClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.pilih_click).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this, view);
popupMenu.setOnMenuItemClickListener(MainActivity.this);
popupMenu.inflate(R.menu.mpop);
popupMenu.show();
}
});
}

@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
Intent i = null;
switch (item.getItemId()) {
case R.id.item_bujursangkar:
Toast.makeText(this, "Pilih Bujursangkar", Toast.LENGTH_SHORT).show();
i = new Intent(this,Bujursangkar.class);
startActivity(i);
return true;
case R.id.item_persegipanjang:
Toast.makeText(this, "Pilih Persegipanjang", Toast.LENGTH_SHORT).show();
i = new Intent(this,Persegipanjang.class);
startActivity(i);
return true;
case R.id.item_kubus:
Toast.makeText(this, "Pilih Kubus", Toast.LENGTH_SHORT).show();
i = new Intent(this,Kubus.class);
startActivity(i);
return true;
case R.id.item_balok:
Toast.makeText(this, "Pilih Balog", Toast.LENGTH_SHORT).show();
i = new Intent(this,Balok.class);
startActivity(i);
return true;
}
return false;
}
}

Bujursangkar.java:

package com.wahyudin.mpopbangun;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.PopupMenu;
import android.widget.Toast;
import android.widget.PopupMenu.OnMenuItemClickListener;

public class Bujursangkar extends ActionBarActivity implements OnMenuItemClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bujursangkar);
findViewById(R.id.bujursangkar_click).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
PopupMenu popupMenu = new PopupMenu(Bujursangkar.this, view);
popupMenu.setOnMenuItemClickListener(Bujursangkar.this);
popupMenu.inflate(R.menu.mbujursangkar);
popupMenu.show();
}
});
}
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
Intent i = null;
switch (item.getItemId()) {
case R.id.item_bujursangkar_gambar:
Toast.makeText(this, "Pilih Gambar Bujursangkar", Toast.LENGTH_SHORT).show();
return true;
case R.id.item_bujursangkar_luas:
Toast.makeText(this, "Pilih Luas Bujursangkar", Toast.LENGTH_SHORT).show();
return true;
case R.id.item_bujursangkar_keliling:
Toast.makeText(this, "Pilih Keliling Bujursangkar", Toast.LENGTH_SHORT).show();
return true;
case R.id.item_bujursangkar_keluar:
Toast.makeText(this, "Pilih Keluar", Toast.LENGTH_SHORT).show();
i = new Intent(this,MainActivity.class);
startActivity(i);
return true;
}

return false;
}

}


Persegipanjang.java:

package com.wahyudin.mpopbangun;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.MenuItem;
import android.widget.PopupMenu.OnMenuItemClickListener;

public class Persegipanjang extends ActionBarActivity implements OnMenuItemClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.persegipanjang);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return false;
}

}


Kubus.java

package com.wahyudin.mpopbangun;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.MenuItem;
import android.widget.PopupMenu.OnMenuItemClickListener;

public class Kubus extends ActionBarActivity implements OnMenuItemClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.kubus);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return false;
}


}


Balok.java

package com.wahyudin.mpopbangun;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.MenuItem;
import android.widget.PopupMenu.OnMenuItemClickListener;

public class Balok extends ActionBarActivity implements OnMenuItemClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.balok);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return false;
}


}



Contoh Projeck diatas belum selesai, silahkan anda selesai, membuat layout, menu dan koding java gambar bujursangkar, luas bujursangkar, keliling bujursangkar. Selesaikan juga untuk bangun yang lainya.