懸浮按鈕效果如下圖所示:
步驟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" // 按鈕打開(kāi)后,主按鈕和子按鈕的距離
- imageSize="50dp" // 按鈕大小,所占區(qū)域的邊長(zhǎng)
- marginY="100dp" // 與上下邊緣距離,下圖中黃色部分的高度
- number="6" // 展開(kāi)的子按鈕的數(shù)量,可以是3-6個(gè)
- imageMainOpen="@mipmap/suspendMainOpen" // 中間按鈕展開(kāi)時(shí)的圖片資源
- imageMainClose="@mipmap/suspendMainClose" // 中間按鈕關(guān)閉時(shí)的圖片資源
- 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 = { "相機(jī)" , "音樂(lè)" , "地圖" , "亮度" , "聯(lián)系人" , "短信" }; @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 , "您點(diǎn)擊了【" + suspendChildButtonInfo[index - 1 ] + "】按鈕!" , Toast.LENGTH_SHORT).show(); } }); /** * suspendButtonLayout.hideSuspendButton(); // 隱藏按鈕 suspendButtonLayout.showSuspendButton(); // 顯示按鈕 suspendButtonLayout.openSuspendButton(); // 展開(kāi)按鈕 suspendButtonLayout.closeSuspendButton(); // 關(guān)閉按鈕 suspendButtonLayout.setMainCloseImageResource(R.mipmap.suspend_main_close); // 設(shè)置關(guān)閉時(shí),主按鈕的圖片 suspendButtonLayout.setMainOpenImageResource(R.mipmap.suspend_main_open); // 設(shè)置展開(kāi)時(shí),主按鈕的圖片 // 設(shè)置按鈕位置。isRight:true在右邊,false在左邊;stayPosY:在'按鈕停留區(qū)域'從上往下,值為從0到100。 suspendButtonLayout.setPosition(isRight, stayPosY); */ } } |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/lpCrazyBoy/article/details/80536096