diff options
| author | cachapa <cachapa@gmail.com> | 2011-09-06 11:11:56 +0200 |
|---|---|---|
| committer | cachapa <cachapa@gmail.com> | 2011-09-06 11:11:56 +0200 |
| commit | 15b1dff09a9c91aade7a147b5a967b6bb1c71755 (patch) | |
| tree | 6050cd5c2a81dc23f785080cd4479aa3ab676742 /src | |
| parent | 001a5a404dc586c3708a1c5bafe73f070f2c897d (diff) | |
| download | cgeo-15b1dff09a9c91aade7a147b5a967b6bb1c71755.zip cgeo-15b1dff09a9c91aade7a147b5a967b6bb1c71755.tar.gz cgeo-15b1dff09a9c91aade7a147b5a967b6bb1c71755.tar.bz2 | |
Increase target area for clicking the icons in the main grid.
Even if the tap falls outside of the button, it is still caught by the surrounding layout and redirected to the button.
Diffstat (limited to 'src')
| -rw-r--r-- | src/cgeo/geocaching/cgeo.java | 105 |
1 files changed, 60 insertions, 45 deletions
diff --git a/src/cgeo/geocaching/cgeo.java b/src/cgeo/geocaching/cgeo.java index ceaf3b9..d4defc7 100644 --- a/src/cgeo/geocaching/cgeo.java +++ b/src/cgeo/geocaching/cgeo.java @@ -27,6 +27,7 @@ import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.view.View.OnClickListener; import android.widget.RelativeLayout; import android.widget.TextView; import cgeo.geocaching.activity.AbstractActivity; @@ -452,32 +453,47 @@ public class cgeo extends AbstractActivity { final View findOnMap = findViewById(R.id.map); findOnMap.setClickable(true); - findOnMap.setOnClickListener(new cgeoFindOnMapListener()); + findOnMap.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoFindOnMap(v); + } + }); final View findByOffline = findViewById(R.id.search_offline); findByOffline.setClickable(true); - findByOffline.setOnClickListener(new cgeoFindByOfflineListener()); + findByOffline.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoFindByOffline(v); + } + }); registerForContextMenu(findByOffline); (new countBubbleUpdate()).start(); final View advanced = findViewById(R.id.advanced_button); advanced.setClickable(true); - advanced.setOnClickListener(new cgeoSearchListener()); + advanced.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoSearch(v); + } + }); final View any = findViewById(R.id.any_button); any.setClickable(true); - any.setOnClickListener(new cgeoPointListener()); + any.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoPoint(v); + } + }); final View filter = findViewById(R.id.filter_button); + filter.setClickable(true); registerForContextMenu(filter); filter.setOnClickListener(new View.OnClickListener() { - - public void onClick(View view) { - openContextMenu(view); + public void onClick(View v) { + openContextMenu(v); } }); - filter.setClickable(true); setFilterTitle(); } @@ -501,7 +517,11 @@ public class cgeo extends AbstractActivity { if (geo.latitudeNow != null && geo.longitudeNow != null) { View findNearest = findViewById(R.id.nearest); findNearest.setClickable(true); - findNearest.setOnClickListener(new cgeoFindNearestListener()); + findNearest.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoFindNearest(v); + } + }); findNearest.setBackgroundResource(R.drawable.main_nearby); String satellites = null; @@ -569,50 +589,45 @@ public class cgeo extends AbstractActivity { } } - private class cgeoFindNearestListener implements View.OnClickListener { - - public void onClick(View arg0) { - if (geo == null) { - return; - } - - final Intent cachesIntent = new Intent(context, cgeocaches.class); - cachesIntent.putExtra("type", "nearest"); - cachesIntent.putExtra("latitude", geo.latitudeNow); - cachesIntent.putExtra("longitude", geo.longitudeNow); - cachesIntent.putExtra("cachetype", settings.cacheType); - context.startActivity(cachesIntent); - } + public void cgeoFindOnMap(View v) { + findViewById(R.id.map).setPressed(true); + context.startActivity(new Intent(context, settings.getMapFactory().getMapClass())); } - - private class cgeoFindOnMapListener implements View.OnClickListener { - - public void onClick(View arg0) { - context.startActivity(new Intent(context, settings.getMapFactory().getMapClass())); + + public void cgeoFindNearest(View v) { + if (geo == null) { + return; } - } - - private class cgeoFindByOfflineListener implements View.OnClickListener { - public void onClick(View arg0) { - final Intent cachesIntent = new Intent(context, cgeocaches.class); - cachesIntent.putExtra("type", "offline"); - context.startActivity(cachesIntent); - } + findViewById(R.id.nearest).setPressed(true); + final Intent cachesIntent = new Intent(context, cgeocaches.class); + cachesIntent.putExtra("type", "nearest"); + cachesIntent.putExtra("latitude", geo.latitudeNow); + cachesIntent.putExtra("longitude", geo.longitudeNow); + cachesIntent.putExtra("cachetype", settings.cacheType); + context.startActivity(cachesIntent); } - private class cgeoSearchListener implements View.OnClickListener { - - public void onClick(View arg0) { - context.startActivity(new Intent(context, cgeoadvsearch.class)); - } + public void cgeoFindByOffline(View v) { + findViewById(R.id.search_offline).setPressed(true); + final Intent cachesIntent = new Intent(context, cgeocaches.class); + cachesIntent.putExtra("type", "offline"); + context.startActivity(cachesIntent); } - private class cgeoPointListener implements View.OnClickListener { + public void cgeoSearch(View v) { + findViewById(R.id.advanced_button).setPressed(true); + context.startActivity(new Intent(context, cgeoadvsearch.class)); + } - public void onClick(View arg0) { - context.startActivity(new Intent(context, cgeopoint.class)); - } + public void cgeoPoint(View v) { + findViewById(R.id.any_button).setPressed(true); + context.startActivity(new Intent(context, cgeopoint.class)); + } + + public void cgeoFilter(View v) { + findViewById(R.id.filter_button).setPressed(true); + findViewById(R.id.filter_button).performClick(); } private class countBubbleUpdate extends Thread { |
