Android悬浮按钮的使用方法

时间:2022-04-25 09:23:08

悬浮按钮效果如下图所示:

Android悬浮按钮的使用方法

步骤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