Android实现爆炸式菜单按钮弹出效果

  

最近项目要使用到点击一个按钮弹出多个按钮的效果,在试了几个类库后感觉不是很理想,所以自己代码实现了一个,下图所示:

  

 Android实现爆炸式菜单按钮弹出效果

  

实现原理很简单,就是利用android原声动画效果,当点击中心按钮时弹出其余按钮。闲话少叙,代码如下。

  

<强>第一步:activity_main。xml很简单,也就是五个相同位置的按钮

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android "   android: layout_width=" match_parent "   android: layout_height=癿atch_parent”比;   & lt; ImageButton   android: id=癅 + id/按钮”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_centerInParent=" true "   android: layout_margin=" 10 dp”   android: src=" https://www.yisu.com/zixun/@drawable/im”   android:背景=癅android:颜色/透明/比;   & lt; ImageButton   android: id=癅 + id/button1”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_centerInParent=" true "   android: layout_margin=" 10 dp”   android:可见性=耙巍?   android: src=" https://www.yisu.com/zixun/@drawable/我”   android:背景=癅android:颜色/透明/比;   & lt; ImageButton   android: id=癅 + id/button2”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_centerInParent=" true "   android: layout_margin=" 10 dp”   android: src=" https://www.yisu.com/zixun/@drawable/ii”   android:可见性=耙巍?   android:背景=癅android:颜色/透明/比;   & lt; ImageButton   android: id=癅 + id/button3”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_centerInParent=" true "   android: layout_margin=" 10 dp”   android: src=" https://www.yisu.com/zixun/@drawable/iii”   android:可见性=耙巍?   android:背景=癅android:颜色/透明/比;   & lt; ImageButton   android: id=癅 + id/button4”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android: layout_centerInParent=" true "   android: layout_margin=" 10 dp”   android: src=" https://www.yisu.com/zixun/@drawable iiii "   android:可见性=耙巍?   android:背景=癅android:颜色/透明/比;      & lt;/RelativeLayout>      之前      

<强>第二步:MainActivity

        包com.example.boombuttons;   进口java.util.ArrayList;   公共类MainActivity扩展活动实现>   公开课实效{/* *   *返回每个按钮应该出现的角度(弧度单位)   * @param指数   * @return双角度(弧度单位)   */公共静态双getAngle (int, int指数){   返回Math.toRadians(90/(大概)*指数+ 90);   }   }      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Android实现爆炸式菜单按钮弹出效果