How to display a custom dialog in your Android application
How to display a custom dialog in your Android application
Yesterday Jozsi showed you, how to make an alert dialog, today I'm going to show you, how to make a custom dialog/popup window.
Sometimes, it's better to make your own dialog, because this way, you can display whatewer you want., the way you want it.
First, make your own layout, with the needed elements. Here, I'm going to use two buttons, a textview inside a scrollview, and an imageview...
Here is my main layout, main.xml. It's just a textview, with a button:
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout android:id="@+id/RelativeLayout01&qu
ot; - android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- xmlns:android="http://schemas.android.c
om/apk/res/android"> - <TextView android:id="@+id/TextView01"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="This is my main activity, from here, I want to display a dialog, after the user clicked the button below this text.">
- </TextView>
- <Button android:layout_height="wrap_content"
- android:layout_below="@+id/TextView01"
- android:layout_width="wrap_content"
- android:id="@+id/Button01main"
- android:text="Hey! There is more..."></Button>
- </RelativeLayout>
Here is my dialog's layout, maindialog.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.c
om/apk/res/android" - android:layout_width="wrap_content" android:layout_height="wrap_content">
- <ImageView android:id="@+id/ImageView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_centerHorizontal="true" />
- <ScrollView android:id="@+id/ScrollView01"
- android:layout_width="wrap_content" android:layout_below="@+id/ImageView01"
- android:layout_height="200px">
- <TextView android:text="@+id/TextView01" android:id="@+id/TextView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content" />
- </ScrollView>
- <Button android:id="@+id/Button01" android:layout_below="@id/ScrollView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content"
- android:layout_centerHorizontal="true" android:text="Cancel" />
- </RelativeLayout>
Now that the xml part is all set up, it's time to code.
- public class main extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //set up main content view
- setContentView(R.layout.main);
- //this button will show the dialog
- button1main.setOnClickListener(new OnClickListener() {
- @Override
- //set up dialog
- dialog.setContentView(R.layout.maindialog);
- dialog.setTitle("This is my custom dialog box");
- dialog.setCancelable(true);
- //there are a lot of settings, for dialog, check them all out!
- //set up text
- TextView text = (TextView) dialog.findViewById(R.id.TextView01);
- text.setText(R.string.lots_of_text);
- //set up image view
- ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);
- img.setImageResource(R.drawable.nista_logo);
- //set up button
- button.setOnClickListener(new OnClickListener() {
- @Override
- finish();
- }
- });
- //now that the dialog is set up, it's time to show it
- dialog.show();
- }
- });
- }
- }
You can read more about the topic, here.
New tutorials from Helloandroid
Recent Apps
Android on Twitter
-
@Idevicegazette (iDevice Gazette)
GSM-to-Skype bridge lets you lose those roaming fees http://bit.ly/lbRJeh #android
11 years 45 weeks ago -
@tommy_banane (tom b.)
RT @AndroidFavorite: #Android New Desktop Android Market Is Live, Adds Several New Features http://zorr0.nl/lFwXNz
11 years 45 weeks ago -
@dwilliams5 (Dennis Williams)
just completed a runtastic run of 3.02 km in 40 min 11 s with #runtastic #Android App: http://tinyurl.com/5tvrpe3
11 years 45 weeks ago -
@S_Pinz (Spinz!)
RT @Androidheadline: Out of box #LG Optimus 3D got Quadrant 2420 score. Thanks @blink_c #io2011 #android http://twitpic.com/4whkdz
11 years 45 weeks ago -
@tayaitapps (Taya IT)
Next Google TV Looks A Lot Like Android http://t.co/dvlTim3 via @alleyinsider #google #apple #android #tv #honeycomb
11 years 45 weeks ago
Poll
Useful resources
Android Development Projects
- iOS/Android Developer to take older Games and bring them Current
- Android apps developer - need to finish urgent.
- Buliding MobileApp For onlie order
- looking for android APP developers
- Create an ecommerce app
- text-to voice for smartphones IOS - GOOGLE - HARMONY - AND ALEXA
- Optimize Images on App
- Create small feature with drag-drop text for Android
- Scouting for advanced website and Mobile apps developers. Potential Long-term contract.
- BLACK SCREEN