Showing posts with label Android Menus. Show all posts
Showing posts with label Android Menus. Show all posts

Monday, 24 October 2016

PopupMenu

A popup menu shows a rundown of things in a vertical rundown that is secured to the view that conjured the menu. It's useful for giving a flood of activities that identify with particular substance or to give choices to a second part of a summon. Activities in a popup menu ought not specifically influence the relating substance—that is the thing that relevant activities are for. Or maybe, the popup menu is for stretched out activities that identify with areas of substance in your action.

Example :-
               PopupMenu ppm = new PopupMenu(this,view);
               getMenuInflater().inflate(R.menu.main,ppm.getMenu());
                ppm.show();

Code for PopupMenu in android.

activity_main.xml :-

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
 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:orientation="vertical" 
 tools:context="com.kiranapp.MainActivity">
<Button 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:text="Popup" 
 android:id="@+id/button" 
 android:layout_marginTop="20dp" 
 android:layout_gravity="center_horizontal" />
</LinearLayout>

popup_menu.xml :-

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

<item 
 android:id="@+id/android" 
 android:title="Android"/>
<item 
 android:id="@+id/ios" 
 android:title="IOS"/>
<item 
 android:id="@+id/phonegap" 
 android:title="Phonegap"/>
<item 
 android:id="@+id/blackberry" 
 android:title="Blackberry"/>
</menu>

MainActivity.java :-

package com.kiranapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
public class MainActivity extends Activity {
    Button popupbtn;

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

 popupbtn = (Button) findViewById(R.id.button);
 popupbtn.setOnClickListener(new OnClickListener() {

@Override 
 public void onClick(View v) {

 PopupMenu popup = new PopupMenu(MainActivity.this, popupbtn);
 popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());
 popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
 
 public boolean onMenuItemClick(MenuItem item) {
 Toast.makeText(MainActivity.this,"Click menu:" + item.getTitle(),
                                                  Toast.LENGTH_SHORT).show();
 return true;
                    }
 });
 popup.show();
 }
 });
 }
}

Output :-

PopupMenu 1
PopupMenu fig :1





















PopupMenu2
PopupMenu fig :2





















PopupMenu3
PopupMenu fig :3















































ContextMenu

A Context menu is a skimming menu that shows up when the client plays out a long-tap on a    
    component. It gives activities that influence the chose substance or setting outline.

   Example :-
                     @override
                        public boolean onContextItemSelected(MenuItem item)
                        {
                        AdapterContextMenuInfo info = (AdapterContextMenuInfo)item.getMenuInfo();
                        Switch (item.getItemId())
                       {
                        case R.id.contacts:
                        contacts(info.id);
                        return true;
                        case R.id.settings:
                        settings(info.id);
                        return true;
                        default:
                        return super.onContextItemSelected(item);
                        }

Code for ContextMenu in android below shown .

activity_main.xml :-

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout 
  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:orientation="vertical"  
  tools:context="com.kiranapp.MainActivity">

<ListView
 android:layout_width="match_parent" 
 android:layout_height="wrap_content" 
 android:id="@+id/listView" 
 android:layout_marginTop="20dp" 
 android:layout_gravity="center_horizontal" />
</LinearLayout>

MainActivity.java :-

package com.kiranapp;

import android.os.Bundle;
import android.support.v7.app.Activity;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.view.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
    ListView lv;
String Courses[]={"ANDROID","IOS","PHONEGAP","BLACKBERRY","WINDOWS","MICROSOFT"};

@Override protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 lv=(ListView)findViewById(R.id.listView);
 ArrayAdapter<String> adapter=new ArrayAdapter<String>
                           (this,android.R.layout.simple_list_item_1,Courses);
 lv.setAdapter(adapter);
 registerForContextMenu(lv);
 }

@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, 
                                       ContextMenu.ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Select The movement");
menu.add(0,v.getId(),0,"view");
menu.add(0,v.getId(),0,"send sms");
}

@Override public boolean onContextItemSelected(MenuItem item)
 {
 if (item.getTitle()=="view")
 {
 Toast.makeText(getApplicationContext(),"view code",Toast.LENGTH_LONG).show();
 }
 else if (item.getTitle()=="send sms"){
Toast.makeText(getApplicationContext(),"sendingsmscode",Toast.LENGTH_LONG).show();
 }
 else {
 return false;
 }
 return true;
 }
}

Output :-

Select the Run option we will get the result of the context menu app and it will show the output on emulator or on mobile phone.






































 

Sunday, 23 October 2016

OptionsMenu

The Options menu (or) choices menu is the essential gathering of menu things for a movement. It's the place you ought to place activities that globally affect the application, for example, "Look", "Form email," and "Settings."

    Example :-
                   @Override
                       public boolean onCreateOptionsMenu(Menu menu) {
                       MenuInflater inflater=getMenuInflater();
                       inflater.inflate(R.menu.kiran_menu,menu);
                       return true;
                       }

activity_main.xml :-

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout  
 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" 
 android:fitsSystemWindows="true" 
 tools:context="com.example.kiran.optiosmenus.MainActivity"
 
<android.support.design.widget.AppBarLayout 
 android:layout_width="match_parent" 
 android:layout_height="wrap_content
 android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar 
 android:id="@+id/toolbar" 
 android:layout_width="match_parent" 
 android:layout_height="?attr/actionBarSize" 
 android:background="?attr/colorPrimary" 
 app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_main" />

<android.support.design.widget.FloatingActionButton 
 android:id="@+id/fab" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:layout_gravity="bottom|end" 
 android:layout_margin="@dimen/fab_margin" 
 android:src="@android:drawable/ic_dialog_email" />

</android.support.design.widget.CoordinatorLayout>

activity_status.xml :-

<?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.example.kiran.optiosmenus.SatusActivity">

<TextView 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:textAppearance="?android:attr/textAppearanceLarge" 
 android:text="Welcome to Status" 
 android:id="@+id/textView2" 
 android:layout_alignParentTop="true"         
 android:layout_alignParentRight="true" 
 android:layout_alignParentEnd="true" 
 android:layout_marginTop="83dp" />
</RelativeLayout>

content_main.xml :-

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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" 
 android:paddingBottom="@dimen/activity_vertical_margin" 
 android:paddingLeft="@dimen/activity_horizontal_margin" 
 android:paddingRight="@dimen/activity_horizontal_margin" 
 android:paddingTop="@dimen/activity_vertical_margin" 
 app:layout_behavior="@string/appbar_scrolling_view_behavior" 
 tools:context="com.example.kiran.optiosmenus.MainActivity" 
 tools:showIn="@layout/activity_main">

<TextView 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content" 
 android:textAppearance="?android:attr/textAppearanceLarge" 
 android:text="Welcome to Options Menus" 
 android:id="@+id/textView" 
 android:layout_alignParentTop="true" 
 android:layout_centerHorizontal="true" 
 android:layout_marginTop="105dp" />
</RelativeLayout>

MainActivity.java :-

package com.example.kiran.optiosmenus;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
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);
 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);
 FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
 fab.setOnClickListener(new View.OnClickListener() {
@Override 
 public void onClick(View view) {
 Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                       .setAction("Action", null).show();
 }
 });
}

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

@Override
 public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
 case R.id.item1:
Toast.makeText(MainActivity.this, "Status is Selected"
                                                  Toast.LENGTH_SHORT).show();
 Intent in=new Intent(getApplicationContext(),SatusActivity.class);
 startActivity(in);
 break;
 case R.id.item2:
Toast.makeText(MainActivity.this, "Whatsapp Web is Selected"
                                                  Toast.LENGTH_SHORT).show();
 break;
 case R.id.item3:
Toast.makeText(MainActivity.this, "Wallpaper is Selected"
                                                   Toast.LENGTH_SHORT).show();
 break;
 case R.id.action_settings:
Toast.makeText(MainActivity.this, "Setting is Selected",
                                                    Toast.LENGTH_SHORT).show();
 break;
 }
 return super.onOptionsItemSelected(item);
 }
}

StatusActivity.java :-

package com.example.kiran.optiosmenus;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class SatusActivity extends AppCompatActivity {

@Override 
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_satus);
 }
}

Output :-

OptionsMenu
OptionsMenu fig :1





















OptionsMenu
OptionsMenu fig :2





















OptionsMenu
OptionsMenu fig :3