Skip to main content

Displaying a Dialog Window

There are times when you need to display a dialog window to get a confirmation from the user. In this case , you can override the onCreateDialog() protected method defined in the Activity base class to display a dialog window. The following Try It Out shows you how.

1. Using Android Studio , create a new Android project and name it Dialog. When presented with the option , name the main activity DialogActivity.

2.Add the following theme in bold to the AndroidMainfest.xml file. Be sure to change all instances of "com.android" to whatever package name your project is using.

<?xml version="1.0" encoding="utd-8"?>
<manifest xmlns:android"http://schemas.android.com/apk/res/android" package="com.android.dialog">
     <application
          android:allowBackup="true"
          android:icon:="@mipmap/ic_launcher"
          android:label="@String/app_name"
          android:supportRtl="true"
          android:theme="@style/AppTheme" >
          <activity
               android:name=".DialogActivity"
               android:label="@string/app_name"
               android:theme="@style/Theme.AppCompat.Dialog" >
               <intent-filter>
                      <action android:name="android.intent.action.MAIN" />
                      <category android:name="android.intent.category.LAUNCHAR" />
               < / intent-filter>
          </activity>
     </application>
</manifest>

3. Compare your DialogActivity.java file to this:

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snacbar;
import android.support.v7.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.MenuItem;

public class DialogActivity extends AppCompatActivity
{
             @Override
             protected void onCreate(Bundle saveIntanceState)
             {
                         super.onCreate(saveInstaceState);
                         setContentView(R.layout.activity_dialog);
                         Toolbar toolbar=(Toolbar)findViewById(R.id.toolbar);
                         setSupportActionBar(toolbar);
 
                         FloatingActionButton fat = (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 onCreateOpationsMenu(Menu menu)
               {
                        // Inflate the menu; this adds items to the action bar if it is present.
                        getMenuInflater().inflate(R.menu_dialog, menu);
               }
              @Override
              public boolean onOpationItemSelected(MenuItem item)
              {
                      //Handle action bar Item clicks here. The action Bar will
                      //automatically handle clicks on the Home/Up button, so long
                      //as you specify a parent activity in AndroidManifest.xml.

                      int id = item.getItemId();

                      //notinspection SimplifiableIfStatement
                      if ( id == R.id.action_settings)
                      {
                                 return true;
                      }

                      return super.onOpationsItemSelected(item);
               }
}

4. Press Shift+F9 to debug the application on the Android emulator. Click the button to display the dialog.

How It Works

Android uses the Appcompat.Dialog theme to draw your standard activity as a free-floating dialog box.It would be very easy to modify this dialog to add some buttons if you needed to provide an OK or Cancel choice.

Notice also that theme is applied to the Activity , not the project. Therefore , you could have a project with multiple activities , and apply the dialog theme to just one of them.

Comments

Popular posts from this blog

Creating Android Virtual Devices (AVDs)

The next step is to create an Android Virtual Device (AVD) you can use for testing your Android application. An AVD is an emulator instance that enables you to model an actual device. Each AVD consists of a hardware profile ; a mapping to a system image ; and emulated storage,such as a secure digital (SD) card.One important thing to remember about emulators is that they are not perfect. There are some applications , such as games (which are GPU heavy ) or application that use sensors such as the GPS or accelerometer. Theses types of application cannot be simulated with the same speed or consistency within an emulator as they can when running on an actual device. However , the emulator is good for doing some generalized testing of your applications. You can create as many AVDs as you want to test your applications with different configurations. This testing is important to confirm the behavior of you application when it is run on different devices with varying capabilities. Use ...

Debugging Your Application

After you have built an application , you need to be able to debug it and see what is going on inside your code . One of the handiest ways to be able to see inside your code it through the use of break points. Breakpoints allow you to pause the execution of your code at specific location and see what is going on (or what is going wrong). Let's take a look at how to use breakpoints in Android Studio. Setting Breakpoints Breakpoints are mechanism by which you can tell Android Studio to temporarily pause execution of your code , which allows you to examine the condition of your application . This means that you can check on the values of variables in your application while you are debugging it. Also , you can check whether certain lines of code are being executed as expected - or at all. To tell Android Studio that you want to examine a specific line of code during debugging , you must set breakpoint at the line. Click the margin of the editor tab next to line of code you want...

What is Android

Android is a moblie operating System that is based on a modified version of Linux. It was originally developed by a startup of the same name , Android , Inc. In 2005 , as part of its strategy to enter the moblie space , Google purchased Android , Inc. and took over its development work (as well as its development team). Google wanted the Android OS to be open and free , so most of the Android code was released under the open source Apache License. That means anyone who wants to use Android can do so by downloading the full Android source code. Moreover, vendors ( typically hardware manufacturers ) can add their own proprietary extensions to Android and customize Android to differentiate their products from others . This development model makes Android very attractive to vendors, especially those companies affected by the phenomenon of Apple's iPhone,which was a hugely successful product that revolutionized the smartphone industry. When the iPhone was launched , many smartphone m...