首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapView顶部的动画菜单按钮

问MapView顶部的动画菜单按钮
EN

Stack Overflow用户
提问于 2012-10-03 00:14:49
回答 1查看 313关注 0票数 0

我有一个MapView,我想有一个动画菜单的选项,滑动从屏幕左侧,并覆盖了一个MapView,当用户单击顶部导航栏上的图标。

所需的行为是: 1.用户单击顶部导航栏上的图标2.菜单从左侧滑入,显示具有不同选项的按钮。3.如果用户选择取消或返回到Mapview,则菜单向右滑动并消失。

在MapView上实现此行为的最佳方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2012-10-04 01:19:03

首先,您需要在拥有mapview的同一个XML布局中添加按钮:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <view
        android:id="@+id/mv"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        class="com.google.android.maps.MapView"
        android:apiKey="your key"
        android:clickable="true" />

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linear_layout_buttons"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:orientation="vertical"
    android:paddingRight="5dp" >

    <Button
        android:id="@+id/button_overlay_show_zoom_all"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:paddingBottom="10dp" />

    <Button
        android:id="@+id/button_overlay_previous"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:paddingBottom="10dp" />

    <Button
        android:id="@+id/button_overlay_next"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:paddingBottom="10dp" />
</LinearLayout>
</RelativeLayout>

然后你需要初始化按钮(我假设你知道这一部分)

然后定义动画的方法:

代码语言:javascript
复制
//Buttons Fadein / Fadeout-------------------------------------------------------------------------------

private void buttonFadeOut() {
        linear_layout_buttons.startAnimation(AnimationUtils.loadAnimation(MyMapActivity.this, android.R.anim.slide_out_right));
        linear_layout_buttons.setVisibility(View.GONE);
}


private void buttonFadeIn() {
    if(linear_layout_buttons.getVisibility() == View.GONE){
        linear_layout_buttons.startAnimation(AnimationUtils.loadAnimation(MyMapActivity.this, android.R.anim.slide_out_left));
        linear_layout_buttons.setVisibility(View.VISIBLE);
}

最后,您只需要在需要的地方调用buttonFadeIn()和ButtonFadeOut()。

祝好运。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12694176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档