Tuesday, 19 May 2015

Android popup window


   Here I am going to explain how to display a android popup window

1). Open res ⇒ drawable⇒ layout_border.xml and add below items.

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

    <item>
        <shape
            android:background="#E0F1FF"
            android:shape="rectangle" >
            <stroke
                android:background="#E0F1FF"
                android:width="1dp" />

            <corners android:radius="7dp" />

            <padding
                android:bottom="1dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <solid
                android:background="#E0F1FF"
                android:color="#1E5EA9" />
        </shape>
    </item>
    <item
        android:bottom="3dp"
        android:left="3dp"
        android:right="3dp"
        android:top="3dp">
        <shape
            android:background="#E0F1FF"
            android:shape="rectangle" >
            <solid
                android:background="#E0F1FF"
                android:color="#F0F0F0" />
        </shape>
    </item>


</layer-list>


2). Open res ⇒ drawable⇒ shape3.xml and add below items.

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

    <solid android:color="#2561A8"/>
       
    <stroke
        android:width="0.5dp"
        android:color="#2561A8"/>

</shape>

3). Open res ⇒ layout⇒ popup.xml and add below items.
  <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_marginBottom="50dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:background="@drawable/layout_border"
        android:orientation="vertical"
        android:padding="3dp" >

        <RelativeLayout
            android:id="@+id/header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="@drawable/shape3"
            android:gravity="center" >

            <TextView
                android:id="@+id/Indexparameterheader"
                android:layout_width="fill_parent"
                android:layout_height="30dp"
                android:layout_centerInParent="true"
                android:gravity="center"
                android:text="Android Dhina"
                android:textColor="#000000"
                android:textSize="15dp" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/centerLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_above="@+id/footer"
            android:layout_below="@+id/header"
            android:gravity="center" >

            <EditText
                android:id="@+id/edtimageName"
                android:layout_width="fill_parent"
                android:layout_height="40dp"
                android:layout_marginLeft="7dp"
                android:layout_marginRight="7dp"
                android:ems="10"
                android:paddingLeft="6dp"
                android:paddingRight="6dp" />
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/footer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:background="#83B5E6"
            android:gravity="center"
            android:padding="10dip" >

            <Button
                android:id="@+id/saveBtn"
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_marginRight="10dp"
                android:text="Ok" />

            <Button
                android:id="@+id/cancelbtutton"
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@+id/saveBtn"
                android:text=" Cancel " />
        </RelativeLayout>
    </RelativeLayout>

</RelativeLayout>

3). Mainactivity.java

 package com.example.android_popup;

import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ActionBar.LayoutParams;
import android.os.Build;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.PopupWindow;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {
PopupWindow popupWindow;
EditText Name;
Button open;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
open= (Button) findViewById(R.id.open);
open.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
callPopup();

}
});
}

private void callPopup() {

LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);

View popupView = layoutInflater.inflate(R.layout.popup, null);

popupWindow=newPopupWindow(popupView,
             LayoutParams.WRAP_CONTENT,LayoutParams.MATCH_PARENT,        
true);

popupWindow .setTouchable(true);
popupWindow .setFocusable(true);

popupWindow .showAtLocation(popupView, Gravity.CENTER, 0, 0);
Name = (EditText) popupView.findViewById(R.id.edtimageName);

((Button) popupView.findViewById(R.id.saveBtn))
.setOnClickListener(new OnClickListener() {

       @TargetApi(Build.VERSION_CODES.GINGERBREAD)
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(),
Name.getText().toString(),Toast.LENGTH_LONG).show();

popupWindow.dismiss();

}

});

((Button) popupView.findViewById(R.id.cancelbtutton))
.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {

popupWindow.dismiss();
}
});

}
}
           

                        

Happy Coding :)