Pop-up tutorial

Basic Tutorials concerning: GUI, Views, Activites, XML, Layouts, Intents, ...

Pop-up tutorial

Postby shishir.bobby » Thu Aug 06, 2009 10:58 am

[align=center] POP-UP[/align]
Here is my first tutorial post here. I Hope u all will like this tiny tutorial.This is a small demo of how to use pop ups in android.


Question What is this :?: : Basically it's a small application in which u can come to know how to use a pop up in android





Difficulty: 2 of 5 :wink:

i have attached the whole source code.please find the attachment and let me know whether It is helpful or not

Please also notify me , if u hv any query. and also guide me if i m wrong anywhere.

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2.  
  3. package com.shishir.popup;
  4.  
  5.  
  6.  
  7. import android.app.Activity;
  8.  
  9. import android.os.Bundle;
  10.  
  11. import android.view.View;
  12.  
  13. import android.view.animation.Animation;
  14.  
  15. import android.view.animation.AnimationUtils;
  16.  
  17. import android.widget.Button;
  18.  
  19. import android.widget.TextView;
  20.  
  21.  
  22.  
  23. import com.shishir.view.TransparentPanel;
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. public class Popup extends Activity {
  32.  
  33.  
  34.  
  35.         private Animation animShow, animHide;
  36.  
  37.  
  38.  
  39.         public void onCreate(Bundle icicle) {
  40.  
  41.  
  42.  
  43.                 super.onCreate(icicle);
  44.  
  45.  
  46.  
  47.                 setContentView(R.layout.popup);
  48.  
  49.  
  50.  
  51.                 initPopup();
  52.  
  53.         }
  54.  
  55.  
  56.  
  57.         private void initPopup() {
  58.  
  59.  
  60.  
  61.                 final TransparentPanel popup = (TransparentPanel) findViewById(R.id.popup_window);
  62.  
  63.  
  64.  
  65.                 // Start out with the popup initially hidden.
  66.  
  67.                 popup.setVisibility(View.GONE);
  68.  
  69.  
  70.  
  71.                 animShow = AnimationUtils.loadAnimation(this, R.anim.popup_show);
  72.  
  73.                 animHide = AnimationUtils.loadAnimation(this, R.anim.popup_hide);
  74.  
  75.  
  76.  
  77.                 final Button showButton = (Button) findViewById(R.id.show_popup_button);
  78.  
  79.                 final Button hideButton = (Button) findViewById(R.id.hide_popup_button);
  80.  
  81.                 showButton.setOnClickListener(new View.OnClickListener() {
  82.  
  83.                         public void onClick(View view) {
  84.  
  85.                                 popup.setVisibility(View.VISIBLE);
  86.  
  87.                                 popup.startAnimation(animShow);
  88.  
  89.                                 showButton.setEnabled(false);
  90.  
  91.                                 hideButton.setEnabled(true);
  92.  
  93.                         }
  94.  
  95.                 });
  96.  
  97.  
  98.  
  99.                 hideButton.setOnClickListener(new View.OnClickListener() {
  100.  
  101.                         public void onClick(View view) {
  102.  
  103.                                 popup.startAnimation(animHide);
  104.  
  105.                                 showButton.setEnabled(true);
  106.  
  107.                                 hideButton.setEnabled(false);
  108.  
  109.                                 popup.setVisibility(View.GONE);
  110.  
  111.                         }
  112.  
  113.                 });
  114.  
  115.  
  116.  
  117.                 final TextView locationName = (TextView) findViewById(R.id.location_name);
  118.  
  119.                 final TextView locationDescription = (TextView) findViewById(R.id.location_description);
  120.  
  121.  
  122.  
  123.                 locationName.setText("Android");
  124.  
  125.                 locationDescription
  126.  
  127.                                 .setText("The second Android Developer Challenge has begun! In this contest, real-world users will help review and score applications"                                         
  128.  
  129.                                                 + "and the overall winner will take away $250,000. The deadline for submitting an application to the contest is August 31, 2009.");
  130.  
  131.         }
  132.  
  133. }
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
Parsed in 0.038 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2.  
  3. package com.shishir.view;
  4.  
  5.  
  6.  
  7.  
  8.  
  9. import android.content.Context;
  10.  
  11. import android.graphics.Canvas;
  12.  
  13. import android.graphics.Paint;
  14.  
  15. import android.graphics.RectF;
  16.  
  17. import android.graphics.Paint.Style;
  18.  
  19. import android.util.AttributeSet;
  20.  
  21. import android.widget.RelativeLayout;
  22.  
  23.  
  24.  
  25. public class TransparentRelativePanel extends RelativeLayout {
  26.  
  27.  
  28.  
  29.         private Paint   innerPaint, borderPaint;
  30.  
  31.    
  32.  
  33.         public TransparentRelativePanel(Context context, AttributeSet attrs) {
  34.  
  35.                 super(context, attrs);
  36.  
  37.                 init();
  38.  
  39.         }
  40.  
  41.  
  42.  
  43.         public TransparentRelativePanel(Context context) {
  44.  
  45.                 super(context);
  46.  
  47.                 init();
  48.  
  49.         }
  50.  
  51.  
  52.  
  53.         private void init() {
  54.  
  55.                 innerPaint = new Paint();
  56.  
  57.                 innerPaint.setARGB(225, 75, 75, 75); //gray
  58.  
  59.                 innerPaint.setAntiAlias(true);
  60.  
  61.  
  62.  
  63.                 borderPaint = new Paint();
  64.  
  65.                 borderPaint.setARGB(255, 255, 255, 255);
  66.  
  67.                 borderPaint.setAntiAlias(true);
  68.  
  69.                 borderPaint.setStyle(Style.STROKE);
  70.  
  71.                 borderPaint.setStrokeWidth(2);
  72.  
  73.         }
  74.  
  75.        
  76.  
  77.         public void setInnerPaint(Paint innerPaint) {
  78.  
  79.                 this.innerPaint = innerPaint;
  80.  
  81.         }
  82.  
  83.  
  84.  
  85.         public void setBorderPaint(Paint borderPaint) {
  86.  
  87.                 this.borderPaint = borderPaint;
  88.  
  89.         }
  90.  
  91.  
  92.  
  93.     @Override
  94.  
  95.     protected void dispatchDraw(Canvas canvas) {
  96.  
  97.        
  98.  
  99.         RectF drawRect = new RectF();
  100.  
  101.         drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight());
  102.  
  103.        
  104.  
  105.         canvas.drawRoundRect(drawRect, 5, 5, innerPaint);
  106.  
  107.                 canvas.drawRoundRect(drawRect, 5, 5, borderPaint);
  108.  
  109.                
  110.  
  111.                 super.dispatchDraw(canvas);
  112.  
  113.     }
  114.  
  115. }
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
Parsed in 0.036 seconds, using GeSHi 1.0.8.4



Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2.  
  3.  
  4. package com.shishir.view;
  5.  
  6.  
  7.  
  8. import android.content.Context;
  9.  
  10. import android.graphics.Canvas;
  11.  
  12. import android.graphics.Paint;
  13.  
  14. import android.graphics.RectF;
  15.  
  16. import android.graphics.Paint.Style;
  17.  
  18. import android.util.AttributeSet;
  19.  
  20. import android.widget.LinearLayout;
  21.  
  22.  
  23.  
  24. public class TransparentPanel extends LinearLayout
  25.  
  26. {
  27.  
  28.         private Paint   innerPaint, borderPaint ;
  29.  
  30.    
  31.  
  32.         public TransparentPanel(Context context, AttributeSet attrs) {
  33.  
  34.                 super(context, attrs);
  35.  
  36.                 init();
  37.  
  38.         }
  39.  
  40.  
  41.  
  42.         public TransparentPanel(Context context) {
  43.  
  44.                 super(context);
  45.  
  46.                 init();
  47.  
  48.         }
  49.  
  50.  
  51.  
  52.         private void init() {
  53.  
  54.                 innerPaint = new Paint();
  55.  
  56.                 innerPaint.setARGB(225, 75, 75, 75); //gray
  57.  
  58.                 innerPaint.setAntiAlias(true);
  59.  
  60.  
  61.  
  62.                 borderPaint = new Paint();
  63.  
  64.                 borderPaint.setARGB(255, 255, 255, 255);
  65.  
  66.                 borderPaint.setAntiAlias(true);
  67.  
  68.                 borderPaint.setStyle(Style.STROKE);
  69.  
  70.                 borderPaint.setStrokeWidth(2);
  71.  
  72.         }
  73.  
  74.        
  75.  
  76.         public void setInnerPaint(Paint innerPaint) {
  77.  
  78.                 this.innerPaint = innerPaint;
  79.  
  80.         }
  81.  
  82.  
  83.  
  84.         public void setBorderPaint(Paint borderPaint) {
  85.  
  86.                 this.borderPaint = borderPaint;
  87.  
  88.         }
  89.  
  90.  
  91.  
  92.     @Override
  93.  
  94.     protected void dispatchDraw(Canvas canvas) {
  95.  
  96.        
  97.  
  98.         RectF drawRect = new RectF();
  99.  
  100.         drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight());
  101.  
  102.        
  103.  
  104.         canvas.drawRoundRect(drawRect, 5, 5, innerPaint);
  105.  
  106.                 canvas.drawRoundRect(drawRect, 5, 5, borderPaint);
  107.  
  108.                
  109.  
  110.                 super.dispatchDraw(canvas);
  111.  
  112.     }
  113.  
  114. }
  115.  
  116.  
Parsed in 0.039 seconds, using GeSHi 1.0.8.4


Thanks And Regards
shishir Mishra :roll:
Attachments
PopupTut.zip
Full Source code
(62 KiB) Downloaded 1466 times
mig1.GIF
screenshot 1
(30.3 KiB) Downloaded 1744 times
mig2.GIF
screenshot 2
(34.87 KiB) Downloaded 1515 times
shishir.bobby
Experienced Developer
Experienced Developer
 
Posts: 76
Joined: Thu Apr 09, 2009 11:41 am

Top

Postby Surge » Tue Sep 15, 2009 8:49 pm

Could use more commenting to help understand whats going on =]
Surge
Freshman
Freshman
 
Posts: 3
Joined: Wed Sep 09, 2009 5:24 pm

Thanks

Postby Whirpig » Sun Oct 18, 2009 1:16 pm

Thank you
Whirpig
Freshman
Freshman
 
Posts: 2
Joined: Thu Oct 01, 2009 3:16 pm

Postby crockysam » Fri Oct 30, 2009 2:30 am

gives me the error: Package com.shishir.popup requires unavailable shared library com.google.android.maps

Whats going on? Why do I need maps?
crockysam
Freshman
Freshman
 
Posts: 3
Joined: Mon Oct 26, 2009 2:47 pm

Postby SCM » Fri Feb 19, 2010 2:09 am

hi i got the following exception

[2010-02-19 02:08:24 - PopUp]Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2010-02-19 02:08:24 - PopUp]Please check logcat output for more details.
[2010-02-19 02:08:24 - PopUp]Launch canceled!


does anybody know which library this is??
SCM
Junior Developer
Junior Developer
 
Posts: 16
Joined: Fri Feb 19, 2010 1:44 am

Postby Tobias » Fri Feb 19, 2010 4:47 pm

crockysam wrote:gives me the error: Package com.shishir.popup requires unavailable shared library com.google.android.maps

Whats going on? Why do I need maps?


Probably the shishir package is used for more then just this example.
Tobias
Junior Developer
Junior Developer
 
Posts: 10
Joined: Mon Nov 23, 2009 11:29 pm

Top

Postby mathias.lin » Fri Feb 26, 2010 6:36 am

Tobias wrote:
crockysam wrote:gives me the error: Package com.shishir.popup requires unavailable shared library com.google.android.maps

Whats going on? Why do I need maps?


Probably the shishir package is used for more then just this example.


The tutorial (.zip file above) still has the com.pocketjourney as a package name in one class, therefore it doesn't compile. Need to change it to com.shishir.

The maps issue is because the tutorial is probably derived from http://blog.pocketjourney.com/2008/03/1 ... oogle-map/
User avatar
mathias.lin
Experienced Developer
Experienced Developer
 
Posts: 60
Joined: Tue Aug 11, 2009 4:21 am
Location: Guangzhou, China

Postby thetuxracer » Sun Mar 21, 2010 9:15 am

i have a problem with getting a window to popup. you see, what i want, is to open a pop-up window (that has text-boxes so that i can link to a database, but thats later) when i click the a button inside the menu . but i cant get teh pop-up to display. the application crashes on the emulator. I am using a map-view, and does it cause any problem? here is the code to it. also attached is the source code. please excuse the long code.

PS: its pretty much from here and there, so please dont judge :)

Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. package com.gpsdroid;
  2.  
  3.  
  4.  
  5. import java.util.List;
  6.  
  7.  
  8.  
  9. import android.database.Cursor;
  10.  
  11. import android.graphics.drawable.Drawable;
  12.  
  13. import android.os.Bundle;
  14.  
  15. import android.view.Menu;
  16.  
  17. import android.view.MenuInflater;
  18.  
  19. import android.view.MenuItem;
  20.  
  21. import android.view.View;
  22.  
  23. import android.view.animation.Animation;
  24.  
  25. import android.view.animation.AnimationUtils;
  26.  
  27. import android.widget.Button;
  28.  
  29. import android.widget.LinearLayout;
  30.  
  31. import android.widget.TextView;
  32.  
  33. import android.widget.ZoomControls;
  34.  
  35.  
  36.  
  37. import com.google.android.maps.GeoPoint;
  38.  
  39. import com.google.android.maps.MapActivity;
  40.  
  41. import com.google.android.maps.MapView;
  42.  
  43. import com.google.android.maps.Overlay;
  44.  
  45. import com.google.android.maps.OverlayItem;
  46.  
  47.  
  48.  
  49. public class MapsActivity extends MapActivity {
  50.  
  51.        
  52.  
  53.         private Animation animShow, animHide;
  54.  
  55.         List<Overlay> mapOverlays;
  56.  
  57.         Drawable drawable;
  58.  
  59.         HelloItemizedOverlay itemizedOverlay;
  60.  
  61.  
  62.  
  63.         LinearLayout linearLayout;
  64.  
  65.         MapView mapView;
  66.  
  67.         ZoomControls mZoom;
  68.  
  69.  
  70.  
  71.         /** Called when the activity is first created. */
  72.  
  73.         @Override
  74.  
  75.         public void onCreate(Bundle savedInstanceState) {
  76.  
  77.                 super.onCreate(savedInstanceState);
  78.  
  79.                 setContentView(R.layout.main);
  80.  
  81.  
  82.  
  83.                 linearLayout = (LinearLayout) findViewById(R.id.zoom);
  84.  
  85.                 mapView = (MapView) findViewById(R.id.mapView);
  86.  
  87.                 mZoom = (ZoomControls) mapView.getZoomControls();
  88.  
  89.                 linearLayout.addView(mZoom);
  90.  
  91.  
  92.  
  93.                 mapOverlays = mapView.getOverlays();
  94.  
  95.                 drawable = this.getResources().getDrawable(R.drawable.pushpin);
  96.  
  97.                 itemizedOverlay = new HelloItemizedOverlay(drawable);
  98.  
  99.  
  100.  
  101.                 GeoPoint point = new GeoPoint(19240000, -99120000);
  102.  
  103.                 OverlayItem overlayitem = new OverlayItem(point, "", "");
  104.  
  105.  
  106.  
  107.                 GeoPoint point2 = new GeoPoint(35410000, 139460000);
  108.  
  109.                 OverlayItem overlayitem2 = new OverlayItem(point2, "", "");
  110.  
  111.  
  112.  
  113.                 // GeoPoint point3 = new GeoPoint(latitudeE6, longitudeE6);
  114.  
  115.                 // OverlayItem overlayItem3 = new OverlayItem(point3, "", "");
  116.  
  117.  
  118.  
  119.                 itemizedOverlay.addOverlay(overlayitem2);
  120.  
  121.                 itemizedOverlay.addOverlay(overlayitem);
  122.  
  123.  
  124.  
  125.                 mapOverlays.add(itemizedOverlay);      
  126.  
  127.                 dbOperator();
  128.  
  129.  
  130.  
  131. }
  132.  
  133.  
  134.  
  135.         private void dbOperator() {
  136.  
  137.                 DatabaseHandler handler = new DatabaseHandler(this);
  138.  
  139.                 handler.open();
  140.  
  141.                 handler.insertInTodo((long)1, "Rahul", "project", null, "todo", null);
  142.  
  143.                 Cursor cursor= handler.fetchAllRowsFromTodo();
  144.  
  145.                 handler.close();
  146.  
  147.                 System.out.println("success");
  148.  
  149.         }
  150.  
  151.  
  152.  
  153.         @Override
  154.  
  155.         protected boolean isRouteDisplayed() {
  156.  
  157.                 return false;
  158.  
  159.         }
  160.  
  161.        
  162.  
  163.         private void initPopup() {
  164.  
  165.        
  166.  
  167.         final TransparentPanel popup = (TransparentPanel) findViewById(R.id.popup_window);
  168.  
  169.         setContentView(popup );
  170.  
  171.         //  Start out with the popup initially hidden.
  172.  
  173.        
  174.  
  175.         popup.setVisibility(View.VISIBLE);
  176.  
  177.         popup.startAnimation( animShow );      
  178.  
  179.                
  180.  
  181.        
  182.  
  183.         final Object animShow = AnimationUtils.loadAnimation( this, R.anim.popup_show);
  184.  
  185.         animHide = AnimationUtils.loadAnimation( this, R.anim.popup_hide);
  186.  
  187.        
  188.  
  189.         final Button   hideButton = (Button) findViewById(R.id.hide_popup_button);
  190.  
  191.         final Button   showButton = (Button) findViewById(R.id.show_popup_button);
  192.  
  193.        
  194.  
  195.         showButton.setOnClickListener(new View.OnClickListener() {
  196.  
  197.                         public void onClick(View view) {
  198.  
  199.                                 popup.setVisibility(View.VISIBLE);
  200.  
  201.                                 popup.startAnimation( (Animation) animShow );
  202.  
  203.                                 showButton.setEnabled(false);
  204.  
  205.                                 hideButton.setEnabled(true);
  206.  
  207.         }});
  208.  
  209.        
  210.  
  211.         hideButton.setOnClickListener(new View.OnClickListener() {
  212.  
  213.                         public void onClick(View view) {
  214.  
  215.                                 popup.startAnimation( animHide );
  216.  
  217.                                 showButton.setEnabled(true);
  218.  
  219.                                 hideButton.setEnabled(false);
  220.  
  221.                                 popup.setVisibility(View.GONE);
  222.  
  223.         }});
  224.  
  225.  
  226.  
  227.  
  228.  
  229.         final TextView locationName = (TextView) findViewById(R.id.location_name);
  230.  
  231.         final TextView locationDescription = (TextView) findViewById(R.id.location_description);
  232.  
  233.        
  234.  
  235.         locationName.setText("dummyName");
  236.  
  237.         locationDescription.setText("foobarbaz");
  238.  
  239.        
  240.  
  241.         }
  242.  
  243.        
  244.  
  245.  
  246.  
  247.        
  248.  
  249.         public boolean onCreateOptionsMenu(Menu menu) {
  250.  
  251.             MenuInflater inflater = getMenuInflater();
  252.  
  253.             inflater.inflate(R.menu.menu, menu);
  254.  
  255.             return true;
  256.  
  257.         }
  258.  
  259.        
  260.  
  261.          public boolean onOptionsItemSelected(MenuItem item) {
  262.  
  263.                  switch (item.getItemId()) {
  264.  
  265.                  case (R.id.show_popup_button):                
  266.  
  267.                         //initPopup();
  268.  
  269.                          
  270.  
  271.                          System.out.println("initPopup is success");
  272.  
  273.                         return true;
  274.  
  275.                 case (R.id.quit):
  276.  
  277.                         finish();
  278.  
  279.                         return true;
  280.  
  281.         }
  282.  
  283.           return false;
  284.  
  285.  
  286.  
  287. }        
  288.  
  289. }
  290.  
  291.  
Parsed in 0.055 seconds, using GeSHi 1.0.8.4



Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  4.  
  5.    android:layout_width="fill_parent"
  6.  
  7.    android:layout_height="fill_parent">
  8.  
  9.      
  10.  
  11.     <com.gpsdroid.TransparentPanel
  12.  
  13.                         android:id="@+id/popup_window"
  14.  
  15.             android:layout_width="fill_parent"
  16.  
  17.                 android:layout_height="wrap_content"
  18.  
  19.                 android:orientation="vertical"
  20.  
  21.                 android:gravity="left"
  22.  
  23.                 android:padding="1px"
  24.  
  25.                 android:background="@drawable/white">
  26.  
  27.        
  28.  
  29.                 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  30.  
  31.                                             android:orientation="vertical"
  32.  
  33.                                         android:gravity="right"
  34.  
  35.                                             android:layout_width="fill_parent"
  36.  
  37.                                             android:layout_height="fill_parent"
  38.  
  39.                                             android:background="@drawable/button_bar_gradient"
  40.  
  41.                                             android:visibility="gone" >
  42.  
  43.                        
  44.  
  45.                        
  46.  
  47.                         <Button android:id="@+id/hide_popup_button"
  48.  
  49.                                 android:layout_width="wrap_content"
  50.  
  51.                                 android:layout_height="wrap_content"
  52.  
  53.                                 android:layout_alignParentRight="true"
  54.  
  55.                                 android:layout_marginTop="5px"
  56.  
  57.                                 android:layout_marginRight="10px"
  58.  
  59.                                 android:paddingLeft="5px"
  60.  
  61.                                 android:paddingRight="5px"
  62.  
  63.                                 style="?android:attr/buttonStyleSmall"
  64.  
  65.                                 android:textStyle="bold"
  66.  
  67.                                 android:textColor="@drawable/white"
  68.  
  69.                                 android:textSize="12px"
  70.  
  71.                                 android:text="Close"
  72.  
  73.                                 android:background="@drawable/button_black_rounded_out"/>
  74.  
  75.        
  76.  
  77.                         <LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"
  78.  
  79.                                                     android:orientation="vertical"
  80.  
  81.                                         android:layout_width="fill_parent"
  82.  
  83.                                                 android:layout_height="1px"
  84.  
  85.                                                 android:layout_marginTop="5px"
  86.  
  87.                                                 android:layout_below="@+id/hide_popup_button"
  88.  
  89.                                                 android:background="@drawable/white"/>
  90.  
  91.                 </RelativeLayout>
  92.  
  93.  
  94.  
  95.         <TextView       android:id="@+id/location_name"
  96.  
  97.                                 android:layout_width="wrap_content"
  98.  
  99.                                 android:layout_height="wrap_content"
  100.  
  101.                                 android:textStyle="bold"
  102.  
  103.                                 android:textSize="16px"
  104.  
  105.                                 android:textColor="@drawable/white"
  106.  
  107.                                 android:layout_marginTop="5px"
  108.  
  109.                                 android:layout_marginLeft="5px"/>
  110.  
  111.        
  112.  
  113.             <TextView   android:id="@+id/location_description"
  114.  
  115.                                 android:layout_width="wrap_content"
  116.  
  117.                                 android:layout_height="wrap_content"
  118.  
  119.                                         android:textColor="@drawable/white"
  120.  
  121.                                 android:layout_margin="5px"/>
  122.  
  123.        
  124.  
  125.         </com.gpsdroid.TransparentPanel>
  126.  
  127.                
  128.  
  129.    
  130.  
  131.     <com.google.android.maps.MapView
  132.  
  133.        android:id="@+id/mapView"
  134.  
  135.        android:layout_width="fill_parent"
  136.  
  137.        android:layout_height="fill_parent"
  138.  
  139.        android:enabled="true"
  140.  
  141.        android:clickable="true"
  142.  
  143.        android:apiKey="06WFzmL7ZMo_RnwJE8MswYYJY1wLTYfsBB97tAQ"
  144.  
  145.        />
  146.  
  147.  
  148.  
  149.         <LinearLayout android:id="@+id/zoom"
  150.  
  151.        android:layout_width="wrap_content"
  152.  
  153.        android:layout_height="wrap_content"
  154.  
  155.        android:layout_alignParentBottom="true"
  156.  
  157.        android:layout_centerHorizontal="true"
  158.  
  159.        />
  160.  
  161.        
  162.  
  163.        
  164.  
  165. </RelativeLayout>
Parsed in 0.010 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <menu xmlns:android="http://schemas.android.com/apk/res/android">
  4.  
  5.     <item android:id="@+id/show_popup_button"
  6.  
  7.          android:title="New Game" />
  8.  
  9.     <item android:id="@+id/quit"
  10.  
  11.          android:title="Quit" />
  12.  
  13. </menu>
  14.  
  15.  
Parsed in 0.001 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. package com.gpsdroid;
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9. import android.content.Context;
  10.  
  11.  
  12.  
  13. import android.graphics.Canvas;
  14.  
  15.  
  16.  
  17. import android.graphics.Paint;
  18.  
  19.  
  20.  
  21. import android.graphics.RectF;
  22.  
  23.  
  24.  
  25. import android.graphics.Paint.Style;
  26.  
  27.  
  28.  
  29. import android.util.AttributeSet;
  30.  
  31.  
  32.  
  33. import android.widget.LinearLayout;
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. public class TransparentPanel extends LinearLayout
  42.  
  43.  
  44.  
  45. {
  46.  
  47.  
  48.  
  49.         private Paint   innerPaint, borderPaint ;
  50.  
  51.  
  52.  
  53.    
  54.  
  55.  
  56.  
  57.         public TransparentPanel(Context context, AttributeSet attrs) {
  58.  
  59.  
  60.  
  61.                 super(context, attrs);
  62.  
  63.  
  64.  
  65.                 init();
  66.  
  67.  
  68.  
  69.         }
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.         public TransparentPanel(Context context) {
  78.  
  79.  
  80.  
  81.                 super(context);
  82.  
  83.  
  84.  
  85.                 init();
  86.  
  87.  
  88.  
  89.         }
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.         private void init() {
  98.  
  99.  
  100.  
  101.                 innerPaint = new Paint();
  102.  
  103.  
  104.  
  105.                 innerPaint.setARGB(225, 75, 75, 75); //gray
  106.  
  107.  
  108.  
  109.                 innerPaint.setAntiAlias(true);
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.                 borderPaint = new Paint();
  118.  
  119.  
  120.  
  121.                 borderPaint.setARGB(255, 255, 255, 255);
  122.  
  123.  
  124.  
  125.                 borderPaint.setAntiAlias(true);
  126.  
  127.  
  128.  
  129.                 borderPaint.setStyle(Style.STROKE);
  130.  
  131.  
  132.  
  133.                 borderPaint.setStrokeWidth(2);
  134.  
  135.  
  136.  
  137.         }
  138.  
  139.  
  140.  
  141.        
  142.  
  143.  
  144.  
  145.         public void setInnerPaint(Paint innerPaint) {
  146.  
  147.  
  148.  
  149.                 this.innerPaint = innerPaint;
  150.  
  151.  
  152.  
  153.         }
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.         public void setBorderPaint(Paint borderPaint) {
  162.  
  163.  
  164.  
  165.                 this.borderPaint = borderPaint;
  166.  
  167.  
  168.  
  169.         }
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.     @Override
  178.  
  179.  
  180.  
  181.     protected void dispatchDraw(Canvas canvas) {
  182.  
  183.  
  184.  
  185.        
  186.  
  187.  
  188.  
  189.         RectF drawRect = new RectF();
  190.  
  191.  
  192.  
  193.         drawRect.set(0,0, getMeasuredWidth(), getMeasuredHeight());
  194.  
  195.  
  196.  
  197.        
  198.  
  199.  
  200.  
  201.         canvas.drawRoundRect(drawRect, 5, 5, innerPaint);
  202.  
  203.  
  204.  
  205.                 canvas.drawRoundRect(drawRect, 5, 5, borderPaint);
  206.  
  207.  
  208.  
  209.                
  210.  
  211.  
  212.  
  213.                 super.dispatchDraw(canvas);
  214.  
  215.  
  216.  
  217.     }
  218.  
  219.  
  220.  
  221. }
  222.  
  223.  
Parsed in 0.042 seconds, using GeSHi 1.0.8.4


Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2.  
  3. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  4.  
  5.      package="com.gpsdroid"
  6.  
  7.      android:versionCode="1"
  8.  
  9.      android:versionName="1.0.0">
  10.  
  11.     <application android:icon="@drawable/icon" android:label="@string/app_name">
  12.  
  13.  
  14.  
  15.     <uses-library android:name="com.google.android.maps" />  
  16.  
  17.  
  18.  
  19.         <activity android:name=".MapsActivity"
  20.  
  21.                  android:label="@string/app_name">
  22.  
  23.             <intent-filter>
  24.  
  25.                 <action android:name="android.intent.action.MAIN" />
  26.  
  27.                 <category android:name="android.intent.category.LAUNCHER" />
  28.  
  29.             </intent-filter>
  30.  
  31.         </activity>
  32.  
  33.     </application>
  34.  
  35.  
  36.  
  37.         <uses-sdk android:minSdkVersion="6" />
  38.  
  39.        
  40.  
  41.     <uses-permission android:name="android.permission.INTERNET" />
  42.  
  43.  
  44.  
  45. </manifest>
  46.  
  47.  
Parsed in 0.004 seconds, using GeSHi 1.0.8.4
Attachments
android-gpsdroid.zip
Source-code to program
(174.54 KiB) Downloaded 289 times
thetuxracer
Developer
Developer
 
Posts: 26
Joined: Mon Jan 04, 2010 7:59 am
Location: Nashik, MH, India

Re: Pop-up tutorial

Postby senthil_prabhu » Mon Jan 03, 2011 1:38 pm

can we add a small video in the pop up?
senthil_prabhu
Junior Developer
Junior Developer
 
Posts: 14
Joined: Sun Sep 19, 2010 10:13 am

Top

Return to Novice Tutorials

Who is online

Users browsing this forum: No registered users and 4 guests