悬浮按钮效果如下图所示:
步骤1:引用
1
|
compile 'com.laocaixw.suspendbuttonlayout:suspendbuttonlayout:1.0.3'
|
步骤2:xml布局
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout android:layout_height = "match_parent"
android:layout_width = "match_parent"
android:orientation = "vertical"
xmlns:suspend = "http://schemas.android.com/apk/res-auto"
xmlns:android = "http://schemas.android.com/apk/res/android" >
< com.laocaixw.layout.SuspendButtonLayout
android:id = "@+id/layout"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
suspend:distance = "80dp"
suspend:imageSize = "50dp"
suspend:marginY = "100dp"
suspend:number = "6"
suspend:imageMainOpen = "@mipmap/suspend_main_open"
suspend:imageMainClose = "@mipmap/suspend_main_close"
suspend:image1 = "@mipmap/suspend_1"
suspend:image2 = "@mipmap/suspend_2"
suspend:image3 = "@mipmap/suspend_3"
suspend:image4 = "@mipmap/suspend_4"
suspend:image5 = "@mipmap/suspend_5"
suspend:image6 = "@mipmap/suspend_6" >
</ com.laocaixw.layout.SuspendButtonLayout >
</ LinearLayout >
|
以上各属性:
- distance="80dp" // 按钮打开后,主按钮和子按钮的距离
- imageSize="50dp" // 按钮大小,所占区域的边长
- marginY="100dp" // 与上下边缘距离,下图中黄色部分的高度
- number="6" // 展开的子按钮的数量,可以是3-6个
- imageMainOpen="@mipmap/suspendMainOpen" // 中间按钮展开时的图片资源
- imageMainClose="@mipmap/suspendMainClose" // 中间按钮关闭时的图片资源
- image1="@mipmap/suspend_1" // 子按钮的图片资源,image1~image6
步骤3:Activity使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
public class MainActivity extends AppCompatActivity {
public String[] suspendChildButtonInfo = { "相机" , "音乐" , "地图" , "亮度" , "联系人" , "短信" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_suspendbutton);
final SuspendButtonLayout suspendButtonLayout = (SuspendButtonLayout) findViewById(R.id.layout);
suspendButtonLayout.setOnSuspendListener( new SuspendButtonLayout.OnSuspendListener() {
@Override
public void onButtonStatusChanged( int status) {
}
@Override
public void onChildButtonClick( int index) {
Toast.makeText(MainActivity. this , "您点击了【"
+ suspendChildButtonInfo[index - 1 ] + "】按钮!" , Toast.LENGTH_SHORT).show();
}
});
/**
* suspendButtonLayout.hideSuspendButton(); // 隐藏按钮
suspendButtonLayout.showSuspendButton(); // 显示按钮
suspendButtonLayout.openSuspendButton(); // 展开按钮
suspendButtonLayout.closeSuspendButton(); // 关闭按钮
suspendButtonLayout.setMainCloseImageResource(R.mipmap.suspend_main_close); // 设置关闭时,主按钮的图片
suspendButtonLayout.setMainOpenImageResource(R.mipmap.suspend_main_open); // 设置展开时,主按钮的图片
// 设置按钮位置。isRight:true在右边,false在左边;stayPosY:在'按钮停留区域'从上往下,值为从0到100。
suspendButtonLayout.setPosition(isRight, stayPosY); */
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/lpCrazyBoy/article/details/80536096