This new code isn't working for me.  The first set worked.

On Mon, Aug 25, 2008 at 6:48 PM, adamrocker <[EMAIL PROTECTED]> wrote:
>
> Is this a bug?
> Android can't recognize the difference between
> the motion of long touch action and the motion of move action.
>
> It is different between the long touch action and the move action,
> isn't it?
>
> So, I modified my code without using onInterceptTouchEvent.
>
> /*------ ZoomMapView.java -------*/
> public class ZoomMapView extends MapView implements
> OnLongClickListener {
>
>        private static final int FILL = ViewGroup.LayoutParams.FILL_PARENT;
>        private boolean moving;
>        private ZoomControls zoomControls;
>
>        public ZoomMapView(Context context, String apiKey) {
>                super(context, apiKey);
>
>                // long click settings.
>                moving = false;
>                setClickable(true);
>                setLongClickable(true);
>                setOnLongClickListener(this);
>
>                // ZoomControls settings.
>                zoomControls = (ZoomControls) getZoomControls();
>                zoomControls.setLayoutParams(new ViewGroup.LayoutParams(FILL,
> FILL));
>                zoomControls.setGravity(Gravity.BOTTOM + 
> Gravity.CENTER_HORIZONTAL);
>                addView(zoomControls);
>        }
>
>        // OnLongClickListener interface method
>        public boolean onLongClick(View arg0) {
>                if (!moving) {
>                        displayZoomControls(true);
>                }
>                return true;
>        }
>
>        @Override
>        public boolean onTouchEvent(MotionEvent me) {
>                switch (me.getAction()) {
>                case MotionEvent.ACTION_MOVE:
>                        moving = true;
>                        break;
>                case MotionEvent.ACTION_UP:
>                        if (moving) {
>                                zoomControls.hide();
>                        }
>                        moving = false;
>                        break;
>                }
>
>                return super.onTouchEvent(me);
>        }
> }
>
>
> This code doesn't trigger another behavior like onInterceptTouchEvent.
> What do you think about my code?
>
>
> On 8月26日, 午前2:32, 6real <[EMAIL PROTECTED]> wrote:
>> Thanks for your code !
>>
>> I miss setClickable and I also found setEnabled.
>> My code ran on the previous SDK ... I don't know if it is usefull to
>> indicate this on the migration tips...
>>
>> On 25 août, 19:24, marcel-182 <[EMAIL PROTECTED]> wrote:
>>
>> > Thanks for the code. I have just one remark:
>> > onInterceptTouchEvent(MotionEvent ev) has to return true in order to
>> > be able to scroll while the ZoomControls are being displayed. But I'm
>> > not sure if that triggers another bad behaviour :-).
>>
>> > On 25 Aug., 17:36, adamrocker <[EMAIL PROTECTED]> wrote:
>>
>> > > Hi.
>>
>> > > I'm so sorry for my code to confuse all of you.
>> > > This is the shortest sample.
>>
>> > > /* BEGIN ------------------------------------------*/
>>
>> > > /*------ ZoomControlMapSample.java -------*/
>> > > public class ZoomControlMapSample extends MapActivity {
>> > >         private static final String API_KEY = "mapapikey";
>>
>> > >         @Override
>> > >         public void onCreate(Bundle savedInstanceState) {
>> > >                 super.onCreate(savedInstanceState);
>> > >                 MapView zmv = new ZoomMapView(this, API_KEY);
>> > >                 setContentView(zmv);
>> > >         }
>>
>> > >         @Override
>> > >         protected boolean isRouteDisplayed() { return false; }
>>
>> > > }
>>
>> > > /*------ ZoomMapView.java -------*/
>> > > public class ZoomMapView extends MapView implements
>> > > OnLongClickListener {
>>
>> > >         private static final int FILL = 
>> > > ViewGroup.LayoutParams.FILL_PARENT;
>>
>> > >         public ZoomMapView(Context context, String apiKey) {
>> > >                 super(context, apiKey);
>>
>> > >                 // long click settings.
>> > >                 setClickable(true);
>> > >                 setLongClickable(true);
>> > >                 setOnLongClickListener(this);
>>
>> > >                 // ZoomControls settings.
>> > >                 ZoomControls zoomControls = (ZoomControls) 
>> > > getZoomControls();
>> > >                 zoomControls.setLayoutParams(new 
>> > > ViewGroup.LayoutParams(FILL,
>> > > FILL));
>> > >                 zoomControls.setGravity(Gravity.BOTTOM + 
>> > > Gravity.CENTER_HORIZONTAL);
>> > >                 addView(zoomControls);
>> > >         }
>>
>> > >         // OnLongClickListener interface method
>> > >         public boolean onLongClick(View arg0) {
>> > >                 displayZoomControls(true);
>> > >                 return false;
>> > >         }
>>
>> > >         @Override
>> > >         public boolean onInterceptTouchEvent(MotionEvent ev) {
>> > >                 onTouchEvent(ev);
>> > >                 return false;
>> > >         }
>>
>> > > }
>>
>> > > /*------ AndroidManifest.java -------*/
>> > > <?xml version="1.0" encoding="utf-8"?>
>> > > <manifest xmlns:android="http://schemas.android.com/apk/res/android";
>> > >     package="com.adamrocker.android.sample.map.zoom">
>> > >     <application android:icon="@drawable/icon" android:label="@string/
>> > > app_name">
>> > >         <activity android:name=".ZoomControlMapSample"
>> > > android:label="@string/app_name">
>> > >             <intent-filter>
>> > >                 <action android:name="android.intent.action.MAIN" />
>> > >                 <category
>> > > android:name="android.intent.category.LAUNCHER" />
>> > >             </intent-filter>
>> > >         </activity>
>> > >                 <uses-library android:name="com.google.android.maps" />
>> > >         </application>
>> > >         <uses-permission android:name="android.permission.INTERNET" />
>> > > </manifest>
>>
>> > > /*------------------------------------------ END */
>>
>> > > These are the all files except the R.java.
>> > > Thank you, jokochi. Your advice is useful.
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new Android 0.9 SDK beta!
http://android-developers.blogspot.com/2008/08/announcing-beta-release-of-android-sdk.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to