1. 程式人生 > >Android程式設計:懸浮選單按鈕FloatingActionButton例項

Android程式設計:懸浮選單按鈕FloatingActionButton例項

Android程式設計:懸浮選單按鈕FloatingActionButton例項

環境:

主機:WIN10

開發環境:Android Studio 2.2 Preview 3

說明:

用第三方庫FloatingActionButton實現懸浮選單按鈕

效果圖:

佈局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:fab="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.bazhangkeji.classroom.session.VoiceSessionActivity">

    <com.bazhangkeji.classroom.whiteboard.Whiteboard
        android:id="@+id/white_board"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"/>

    <LinearLayout
        android:id="@+id/layout_avatar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="8dp"
        android:paddingLeft="16dp"
        android:paddingRight="16dp">

        <ImageView
            android:id="@+id/avatar"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:src="@drawable/default_avatar"/>

        <TextView
            android:id="@+id/call_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:textColor="@color/black"
            android:text="正在呼叫..."/>
    </LinearLayout>

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/button_tool_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true"
        android:layout_margin="2dp"
        fab:fab_addButtonColorNormal="@color/white_button"
        fab:fab_addButtonColorPressed="@color/white_button_pressed"
        fab:fab_addButtonPlusIconColor="@color/half_black"
        fab:fab_addButtonSize="normal"
        fab:fab_labelStyle="@style/menu_labels_style"
        fab:fab_labelsPosition="right" >

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/button_quit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white_button"
            fab:fab_colorPressed="@color/white_button_pressed"
            fab:fab_icon="@drawable/ic_call_end_black_48dp"
            fab:fab_size="mini"/>

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/button_tool"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white_button"
            fab:fab_colorPressed="@color/white_button_pressed"
            fab:fab_icon="@drawable/ic_settings_applications_black_48dp"
            fab:fab_size="mini"/>

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/button_palette"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white_button"
            fab:fab_colorPressed="@color/white_button_pressed"
            fab:fab_icon="@drawable/ic_color_lens_black_48dp"
            fab:fab_size="mini" />

        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/button_camera"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/white_button"
            fab:fab_colorPressed="@color/white_button_pressed"
            fab:fab_icon="@drawable/ic_camera_alt_black_48dp"
            fab:fab_size="mini" />
    </com.getbase.floatingactionbutton.FloatingActionsMenu>
</RelativeLayout>

原始碼:

        FloatingActionsMenu buttonToolMenu = (FloatingActionsMenu) findViewById(R.id.button_tool_menu);
        FloatingActionButton buttonQuit = (FloatingActionButton) findViewById(R.id.button_quit);
        FloatingActionButton buttonPalette = (FloatingActionButton) findViewById(R.id.button_palette);
        FloatingActionButton buttonTool = (FloatingActionButton) findViewById(R.id.button_tool);
        FloatingActionButton buttonCamera = (FloatingActionButton) findViewById(R.id.button_camera);

        dialogClearScreenInit();
        dialogPaletteInit();
        dialogSelectImageInit();
        progressDialogInit();

        RxView.clicks(buttonQuit)
                .throttleFirst(1, TimeUnit.SECONDS)
                .compose(this.bindUntilEvent(ActivityEvent.DESTROY))
                .subscribe(v -> {
                    Voip.getInstance().hangUpCall(callId);
                    finishActivity();
                });

        RxView.clicks(buttonPalette)
                .throttleFirst(1, TimeUnit.SECONDS)
                .compose(this.bindUntilEvent(ActivityEvent.DESTROY))
                .subscribe(v -> {
                    buttonToolMenu.collapse();
                    dialogPalette.show();
                });

        RxView.clicks(buttonCamera)
                .throttleFirst(1, TimeUnit.SECONDS)
                .compose(this.bindUntilEvent(ActivityEvent.DESTROY))
                .subscribe(v -> {
                    buttonToolMenu.collapse();
                    dialogSelectImage.show();
                });

參考連結:

相關推薦

Android程式設計懸浮選單按鈕FloatingActionButton例項

Android程式設計:懸浮選單按鈕FloatingActionButton例項環境:主機:WIN10開發環境:Android Studio 2.2 Preview 3說明:用第三方庫FloatingActionButton實現懸浮選單按鈕效果圖:佈局:<?xml ve

Android懸浮選單按鈕FloatingActionButton實現

今天給大家講解的是如何打造懸浮式按鈕 程式截圖 點選+號展開(這個按鈕我全用白色代替的) 獲取點選狀態 小夥伴們,效果是不是你們想要的?是不是很棒棒呢? 專案截圖,因為電腦卡,就沒開as,這裡使用es演示。(標記處我們使用的是第三方庫FloatingAc

Android 實現爆炸式選單按鈕彈出效果

最近專案要使用到點選一個按鈕彈出多個按鈕的效果,在試了幾個類庫後感覺不是很理想,所以自己程式碼實現了一個,下圖所示: 實現原理很簡單,就是利用android原聲動畫效果,當點選中心按鈕時彈出其餘按鈕。閒話少敘,程式碼如下。 第一步:activity_

VB.Net程式設計動態新增按鈕或者控制元件

由於程式需要,在一個窗體中,讀取資料庫的記錄內容,然後在介面中新增相應的按鈕,供使用者點選,響應對應的事件。 谷歌一下很多,看到: http://developer.51cto.com/art/200910/155672.htm http://www.dotblogs.co

android程式設計懸浮窗體

用過手機360和QQ手機管家等一些軟體的朋友,會發現,在這些應用中,會出現一個懸浮窗體,例如QQ手機管家中打電話的場景: 這種窗體除了會顯示外,還可以移動它的位置,並且一直顯示。除了關閉當前程式外,視窗不會主動消失。其實,它的使用原理也很簡單,就是借用了WindowMana

仿知乎懸浮功能按鈕FloatingActionButton

前段時間在看屬性動畫,恰巧這個按鈕的效果可以用屬性動畫實現,所以就來實踐實踐。效果基本出來了,大家可以自己去完善。 首先看一下效果圖: 我們看到點選FloatingActionButton後會展開一些item,然後會有一個蒙板效果,這都是這個View的功

懸浮按鈕FloatingActionButton

over margin logs ride drawable bsp action class activity FloatingActionButton也是Design Support 提供的一個控件,FloatingActionButton不屬於主界面的一部分,而是位於

python 面向物件程式設計類和例項

深度學習在構建網路模型時,看到用類來構建一個模型例項,清晰明瞭,所以這篇博文主要學習一下python類 類和例項: 類可以起到模板的作用,因此,可以在建立例項的時候,把一些我們認為必須繫結的屬性強制填寫進去。通過定義一個特殊的__init__(注意:特殊方法“__init__”前後分別有

Android開發View間漸變動畫(例項

漸變動畫(也叫消失)通常指漸漸的淡出某個UI元件,同時同步地淡入另一個。當App想切換內容或View的情況下,這種動畫很有用。漸變簡短不易察覺,同時又提供從一個介面到下一個之間流暢的轉換。如果在需要轉換的時候沒有使用任何動畫效果,這會使得轉換看上去感到生硬而倉促。在這裡我

Android開發如何在選單中呼叫控制元件(如Button、TextView……)

當我們在類內定義控制元件的全域性變數時,如Button……,只能在onCreate()中初始化,這樣的控制元件變數引用在選單中不好引用,會報錯。 如果想在選單中呼叫控制元件,可以在選單中重新定義控制元件

Android UI設計與開發】第06期底部選單欄(一)使用TabActivity實現底部選單

轉載請註明出處:http://blog.csdn.net/yangyu20121224/article/details/8989063               從這一篇文章開始,我們將進入到一個應用程式主介面UI的開發和設計中了,底部選單欄在Android的應用開發當

C#遊戲程式設計《控制檯小遊戲系列》之《六、貪吃蛇例項

[csharp] view plaincopyprint? using System;   using CEngine;   using CGraphics;   namespace Snake   {       /// <summary>

android開發之&使用ViewPager加gridView實現選單按鈕分頁滑動(類似QQ表情選擇翻頁效果)

剛做的專案中要用到選單分頁,以前沒做過,仔細想了想,既然是分頁,肯定就少不了ViewPager,大家都知道gridView可以實現九宮格,剛好滿足我們的需求,我做的是gridview單行顯示,大家如果需要向QQ表情一樣多行顯示,直接修改資料來源就可以。 好了,上程式碼 pu

Android 動畫你真的會使用插值器與估值器嗎?(含詳細例項教學)

前言 動畫的使用 是 Android 開發中常用的知識 可是動畫的種類繁多、使用複雜,每當需要 採用自定義動畫 實現 複雜的動畫效果時,很多開發者就顯得束手無策 Android中 補間動畫 & 屬性動畫實現動畫的原理是: 其中,步驟2中的

Android 筆記按鈕事件以及案例

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layo

VS2013/MFC程式設計入門之三十二(選單VS2013選單資源詳解)

前面我們已經講完了所有的常用控制元件,本節開始為大家講解選單的概念及使用。        選單簡介        選單可以分為下拉式選單和彈出式選單。        下拉式選單一般在視窗標題欄下面顯示,大家還記得我們在VS2013/MFC程式設計入門之一(利用MFC

android程式設計例項-音樂播放器之歌詞顯示

        今天分享一個歌詞顯示的專案,首先讓我們來看看一般歌詞是什麼樣的格式,就拿神曲《小蘋果》來說的,請看歌詞: [00:00.91]小蘋果 [00:01.75]作詞:王太利 作曲:王太利 [00:02.47]演唱:筷子兄弟 [00:03.32] [00:17.4

Android串列埠通訊串列埠讀寫例項

轉自:http://gqdy365.iteye.com/blog/2188906 在Android串列埠通訊:基本知識梳理(http://gqdy365.iteye.com/admin/blogs/2188846)的基礎上,我結合我專案中使用串列埠的例項,進行總結; An

java網路程式設計12、基於UDP的socket程式設計(二)程式碼通訊-簡單例項

宣告:本教程不收取任何費用,歡迎轉載,尊重作者勞動成果,不得用於商業用途,侵權必究!!! 文章目錄 一、基於UDP伺服器端程式的編寫 二、基於UDP客戶端程式的編寫 三、系列文章(java網路程式設計) 通過上篇文章瞭解了基於UDP通訊的理論、基本步驟以及它跟TCP的區別

Android的menu(選單)按鈕的使用(by 星空武哥)

Android的選單按鈕 1.使用xml的方式建立選單項         a.在res下的menu目錄下新建一個main.xml檔案,以menu為根節點,新增一個item就是選單項 1 2 3 4 5