diff --git a/.gitignore b/.gitignore
index 08a0f3b..61d0e52 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,17 @@
android-mapviewballoons/local.properties
android-mapviewballoons/bin/
android-mapviewballoons/gen/
+android-mapviewballoons/tmp/
+android-mapviewballoons/proguard/
+android-mapviewballoons/.classpath
+android-mapviewballoons/.project
+android-mapviewballoons/.settings/
+
android-mapviewballoons-example/local.properties
android-mapviewballoons-example/bin/
android-mapviewballoons-example/gen/
+android-mapviewballoons-example/tmp/
+android-mapviewballoons-example/proguard/
+android-mapviewballoons-example/.classpath
+android-mapviewballoons-example/.project
+android-mapviewballoons-example/.settings/
diff --git a/android-mapviewballoons-example/.classpath b/android-mapviewballoons-example/.classpath
deleted file mode 100644
index a4763d1..0000000
--- a/android-mapviewballoons-example/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/android-mapviewballoons-example/.project b/android-mapviewballoons-example/.project
deleted file mode 100644
index 1e5e878..0000000
--- a/android-mapviewballoons-example/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- android-mapviewballoons-example
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android-mapviewballoons-example/project.properties b/android-mapviewballoons-example/project.properties
index df25bfd..110bba1 100644
--- a/android-mapviewballoons-example/project.properties
+++ b/android-mapviewballoons-example/project.properties
@@ -9,4 +9,4 @@
android.library.reference.1=../android-mapviewballoons/
# Project target.
-target=Google Inc.:Google APIs:8
+target=Google Inc.:Google APIs:7
diff --git a/android-mapviewballoons-example/res/layout/balloon_overlay_example2.xml b/android-mapviewballoons-example/res/layout/balloon_overlay_example2.xml
index e1b9fb5..a38401b 100644
--- a/android-mapviewballoons-example/res/layout/balloon_overlay_example2.xml
+++ b/android-mapviewballoons-example/res/layout/balloon_overlay_example2.xml
@@ -1,67 +1,72 @@
-
+
-
-
-
-
-
+
-
+
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
\ No newline at end of file
diff --git a/android-mapviewballoons-example/res/values/strings.xml b/android-mapviewballoons-example/res/values/strings.xml
index 773f797..f137a65 100644
--- a/android-mapviewballoons-example/res/values/strings.xml
+++ b/android-mapviewballoons-example/res/values/strings.xml
@@ -1,4 +1,5 @@
MapView Balloons Example
+ Video cover
diff --git a/android-mapviewballoons/.classpath b/android-mapviewballoons/.classpath
deleted file mode 100644
index 6aed2eb..0000000
--- a/android-mapviewballoons/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/android-mapviewballoons/.project b/android-mapviewballoons/.project
deleted file mode 100644
index 5dd76d8..0000000
--- a/android-mapviewballoons/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- android-mapviewballoons
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
-
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/android-mapviewballoons/build.xml b/android-mapviewballoons/build.xml
new file mode 100644
index 0000000..6a060bf
--- /dev/null
+++ b/android-mapviewballoons/build.xml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android-mapviewballoons/proguard-project.txt b/android-mapviewballoons/proguard-project.txt
new file mode 100644
index 0000000..f2fe155
--- /dev/null
+++ b/android-mapviewballoons/proguard-project.txt
@@ -0,0 +1,20 @@
+# To enable ProGuard in your project, edit project.properties
+# to define the proguard.config property as described in that file.
+#
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in ${sdk.dir}/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the ProGuard
+# include property in project.properties.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/android-mapviewballoons/project.properties b/android-mapviewballoons/project.properties
index 8af8118..f8f8c30 100644
--- a/android-mapviewballoons/project.properties
+++ b/android-mapviewballoons/project.properties
@@ -11,4 +11,4 @@ android.library=true
# Indicates whether an apk should be generated for each density.
split.density=false
# Project target.
-target=Google Inc.:Google APIs:8
+target=Google Inc.:Google APIs:7
diff --git a/android-mapviewballoons/res/drawable-hdpi/balloon_disclosure.png b/android-mapviewballoons/res/drawable-hdpi/balloon_disclosure.png
index bd98b9b..59d38c9 100644
Binary files a/android-mapviewballoons/res/drawable-hdpi/balloon_disclosure.png and b/android-mapviewballoons/res/drawable-hdpi/balloon_disclosure.png differ
diff --git a/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_close.png b/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_close.png
index 16f932e..e6e43ab 100644
Binary files a/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_close.png and b/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_close.png differ
diff --git a/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_focused.9.png b/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_focused.9.png
index d6fcfe4..207022d 100644
Binary files a/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_focused.9.png and b/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_focused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_unfocused.9.png b/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_unfocused.9.png
index 21dfcd7..7abb301 100644
Binary files a/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_unfocused.9.png and b/android-mapviewballoons/res/drawable-hdpi/balloon_overlay_unfocused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-ldpi/balloon_disclosure.png b/android-mapviewballoons/res/drawable-ldpi/balloon_disclosure.png
new file mode 100644
index 0000000..41f1799
Binary files /dev/null and b/android-mapviewballoons/res/drawable-ldpi/balloon_disclosure.png differ
diff --git a/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_close.png b/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_close.png
new file mode 100644
index 0000000..d1d90f8
Binary files /dev/null and b/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_close.png differ
diff --git a/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_focused.9.png b/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_focused.9.png
new file mode 100644
index 0000000..a731490
Binary files /dev/null and b/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_focused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_unfocused.9.png b/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_unfocused.9.png
new file mode 100644
index 0000000..0af6632
Binary files /dev/null and b/android-mapviewballoons/res/drawable-ldpi/balloon_overlay_unfocused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-mdpi/balloon_disclosure.png b/android-mapviewballoons/res/drawable-mdpi/balloon_disclosure.png
new file mode 100644
index 0000000..bd98b9b
Binary files /dev/null and b/android-mapviewballoons/res/drawable-mdpi/balloon_disclosure.png differ
diff --git a/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_close.png b/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_close.png
new file mode 100644
index 0000000..16f932e
Binary files /dev/null and b/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_close.png differ
diff --git a/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_focused.9.png b/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_focused.9.png
new file mode 100644
index 0000000..d6fcfe4
Binary files /dev/null and b/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_focused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_unfocused.9.png b/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_unfocused.9.png
new file mode 100644
index 0000000..21dfcd7
Binary files /dev/null and b/android-mapviewballoons/res/drawable-mdpi/balloon_overlay_unfocused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-xhdpi/balloon_disclosure.png b/android-mapviewballoons/res/drawable-xhdpi/balloon_disclosure.png
new file mode 100644
index 0000000..c92a0f2
Binary files /dev/null and b/android-mapviewballoons/res/drawable-xhdpi/balloon_disclosure.png differ
diff --git a/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_close.png b/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_close.png
new file mode 100644
index 0000000..a08353b
Binary files /dev/null and b/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_close.png differ
diff --git a/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_focused.9.png b/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_focused.9.png
new file mode 100644
index 0000000..3b247ac
Binary files /dev/null and b/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_focused.9.png differ
diff --git a/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_unfocused.9.png b/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_unfocused.9.png
new file mode 100644
index 0000000..9b59a4e
Binary files /dev/null and b/android-mapviewballoons/res/drawable-xhdpi/balloon_overlay_unfocused.9.png differ
diff --git a/android-mapviewballoons/res/drawable/balloon_overlay_bg_selector.xml b/android-mapviewballoons/res/drawable/balloon_overlay_bg_selector.xml
index e801702..54266f5 100644
--- a/android-mapviewballoons/res/drawable/balloon_overlay_bg_selector.xml
+++ b/android-mapviewballoons/res/drawable/balloon_overlay_bg_selector.xml
@@ -1,9 +1,7 @@
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/android-mapviewballoons/res/layout/balloon_overlay.xml b/android-mapviewballoons/res/layout/balloon_overlay.xml
index 6eeb187..3a4c5e2 100644
--- a/android-mapviewballoons/res/layout/balloon_overlay.xml
+++ b/android-mapviewballoons/res/layout/balloon_overlay.xml
@@ -1,65 +1,52 @@
-
+ android:minWidth="200dp" >
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
+ android:contentDescription="@string/balloon_overlay_go_next"
+ android:src="@drawable/balloon_disclosure"
+ android:visibility="gone" />
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/android-mapviewballoons/res/values/strings.xml b/android-mapviewballoons/res/values/strings.xml
new file mode 100644
index 0000000..3f607da
--- /dev/null
+++ b/android-mapviewballoons/res/values/strings.xml
@@ -0,0 +1,5 @@
+
+
+ close popup
+ go next
+
diff --git a/android-mapviewballoons/src/com/readystatesoftware/mapviewballoons/BalloonItemizedOverlay.java b/android-mapviewballoons/src/com/readystatesoftware/mapviewballoons/BalloonItemizedOverlay.java
index 4e6c489..eb3e10a 100755
--- a/android-mapviewballoons/src/com/readystatesoftware/mapviewballoons/BalloonItemizedOverlay.java
+++ b/android-mapviewballoons/src/com/readystatesoftware/mapviewballoons/BalloonItemizedOverlay.java
@@ -24,6 +24,7 @@
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
+import android.widget.ImageView;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
@@ -38,14 +39,13 @@
*
* @author Jeff Gilfelt
*/
-public abstract class BalloonItemizedOverlay- extends ItemizedOverlay
- {
+public abstract class BalloonItemizedOverlay
- extends ItemizedOverlay
- implements OnTouchListener {
private static final long BALLOON_INFLATION_TIME = 300;
private static Handler handler = new Handler();
private MapView mapView;
private BalloonOverlayView
- balloonView;
- private View clickRegion;
private View closeRegion;
private int viewOffset;
final MapController mc;
@@ -58,6 +58,9 @@ public abstract class BalloonItemizedOverlay
- extends I
private static boolean isInflating = false;
+ private float startX;
+ private float startY;
+
/**
* Create a new BalloonItemizedOverlay
*
@@ -184,46 +187,35 @@ public void hideAllBalloons() {
}
}
- /**
- * Sets the onTouchListener for the balloon being displayed, calling the
- * overridden {@link #onBalloonTap} method.
- */
- private OnTouchListener createBalloonTouchListener() {
- return new OnTouchListener() {
-
- float startX;
- float startY;
-
- public boolean onTouch(View v, MotionEvent event) {
-
- View l = ((View) v.getParent()).findViewById(R.id.balloon_main_layout);
- Drawable d = l.getBackground();
-
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- int[] states = {android.R.attr.state_pressed};
- if (d.setState(states)) {
- d.invalidateSelf();
- }
- startX = event.getX();
- startY = event.getY();
- return true;
- } else if (event.getAction() == MotionEvent.ACTION_UP) {
- int newStates[] = {};
- if (d.setState(newStates)) {
- d.invalidateSelf();
- }
- if (Math.abs(startX - event.getX()) < 40 &&
- Math.abs(startY - event.getY()) < 40 ) {
- // call overridden method
- onBalloonTap(currentFocusedIndex, currentFocusedItem);
- }
- return true;
- } else {
- return false;
- }
-
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+
+ View l = ((View) v.getParent()).findViewById(R.id.balloon_main_layout);
+ Drawable d = l.getBackground();
+
+ if (event.getAction() == MotionEvent.ACTION_DOWN) {
+ int[] states = {android.R.attr.state_pressed};
+ if (d.setState(states)) {
+ d.invalidateSelf();
+ }
+ startX = event.getX();
+ startY = event.getY();
+ return true;
+ } else if (event.getAction() == MotionEvent.ACTION_UP) {
+ int newStates[] = {};
+ if (d.setState(newStates)) {
+ d.invalidateSelf();
+ }
+ if (Math.abs(startX - event.getX()) < 40 &&
+ Math.abs(startY - event.getY()) < 40 ) {
+ // call overridden method
+ onBalloonTap(currentFocusedIndex, currentFocusedItem);
}
- };
+ return true;
+ } else {
+ return false;
+ }
+
}
/* (non-Javadoc)
@@ -258,8 +250,9 @@ private boolean createAndDisplayBalloonOverlay(){
boolean isRecycled;
if (balloonView == null) {
balloonView = createBalloonOverlayView();
- clickRegion = (View) balloonView.findViewById(R.id.balloon_inner_layout);
- clickRegion.setOnTouchListener(createBalloonTouchListener());
+ balloonView.setOnTouchListener(this);
+ ImageView disclosureImageView = (ImageView) balloonView.findViewById(
+ R.id.balloon_disclosure);
closeRegion = (View) balloonView.findViewById(R.id.balloon_close);
if (closeRegion != null) {
if (!showClose) {
@@ -274,9 +267,8 @@ public void onClick(View v) {
}
}
if (showDisclosure && !showClose) {
- View v = balloonView.findViewById(R.id.balloon_disclosure);
- if (v != null) {
- v.setVisibility(View.VISIBLE);
+ if (disclosureImageView != null) {
+ disclosureImageView.setVisibility(View.VISIBLE);
}
}
isRecycled = false;