最近项目要使用到点击一个按钮弹出多个按钮的效果,在试了几个类库后感觉不是很理想,所以自己代码实现了一个,下图所示:
实现原理很简单,就是利用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实现爆炸式菜单按钮弹出效果