谷歌地图OnInfoWindowClickListener幻灯片动画

时间:2015-06-26 04:23:19

标签: android google-maps animation infowindow

我想在用户点击谷歌地图信息窗口时显示幻灯片动画。

我的动画是正确的工作,显示和消失,但当我点击消失,谷歌地图冻结,不再工作,但应用程序没有得到一个力量关闭,菜单仍然有效。如果我点击菜单,转到另一个活动,然后再回来,地图再次工作,如果我点击信息窗口再次显示动画冻结。

   googlemap.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() {
            @Override
            public void onInfoWindowClick(final Marker marker) {
                Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slidedown);
                layoutToAdd.addView(view);
                view.startAnimation(animation1);
                Toast.makeText(getBaseContext(), "animation opened", Toast.LENGTH_LONG).show();
                if ( view != null) {
                    layoutToAdd.setOnClickListener(new View.OnClickListener() {

                        @Override
                        public void onClick(View v) {
                            if (view.isShown()) {
                                Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slideup);
                                view.startAnimation(animation1);
                                ((LinearLayout) view.getParent()).removeView(view);
                                Toast.makeText(getBaseContext(), "animation closed", Toast.LENGTH_LONG).show();

                            }
                        }
                    });
                }

            }
        });
    }

XML

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class= "com.google.android.gms.maps.SupportMapFragment"
        >
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/mainlo"
    tools:context=".MainActivity">

</LinearLayout>
</fragment>




    <!-- Side navigation drawer UI -->
    <ListView
        android:id="@+id/navList"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="left|start"
        android:background="#ffeeeeee"/>

</android.support.v4.widget.DrawerLayout>

编辑: xml来调用动画。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:id="@+id/lay">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:background="#000000"
        android:layout_gravity="bottom">

        <TextView
            android:id="@+id/mytext"
            android:text="You inflated me..i added to u r layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            />
    </LinearLayout>

</LinearLayout>

动画。

向下滑动

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true">
    <scale
        android:duration="500"
        android:fromXScale="1.0"
        android:fromYScale="0.0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXScale="1.0"
        android:toYScale="1.0" />
</set>

向上滑动

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true" >

    <scale
        android:duration="500"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:interpolator="@android:anim/linear_interpolator"
        android:toXScale="1.0"
        android:toYScale="0.0" />

</set>

任何帮助都是合情合理的。

由于

0 个答案:

没有答案