溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android ActionMode模式使用

發(fā)布時間:2020-09-24 17:05:36 來源:網(wǎng)絡 閱讀:6526 作者:180天 欄目:移動開發(fā)

ActionMode模式

ActionMode模式為在頁面產(chǎn)生一個懸浮的類似于ActionBar的控件,懸浮在ActionBar之上。
使用它的好處在于,不需要在頁面上再增加操作控件,充分利用頁面空間。

ActionMode啟動方式

此方法在Activity類中實現(xiàn),繼承自Activity類可以使用。

// API11加入(默認模式TYPE_PRIMARY)
public ActionMode startActionMode(ActionMode.Callback callback);
// API23加入
public ActionMode startActionMode(ActionMode.Callback callback, int type);

API23加入帶type類型構(gòu)造,分別為TYPE_PRIMARYTYPE_FLOATING
TYPE_PRIMARY: The action mode is treated as a Primary mode. This is the default.(默認類型)
TYPE_FLOATING: The action mode is treated as a Floating Toolbar.(浮動工具欄類型,回調(diào)需要使用ActionMode.Callback2,實現(xiàn)onGetContentRect方法,定位浮動工具欄位置)

ActionMode監(jiān)聽回調(diào)

實現(xiàn)ActionMode.Callback接口。

private class MyActionModeCallback implements ActionMode.Callback {

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            // ActionMode創(chuàng)建,定義menu菜單。
            MenuInflater menuInflater = mode.getMenuInflater();
            menuInflater.inflate(R.menu.action_mode_menu, menu);
            return true;
        }

        @Override
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            // ActionMode工作前的預先處理
            mode.setTitle("ActionMode");
            return false;
        }

        @Override
        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            // menu菜單Item點擊回調(diào)
            if (item.getItemId() == R.id.menu_confirm) {
                mode.finish();
            }
            return false;
        }

        @Override
        public void onDestroyActionMode(ActionMode mode) {
            // ActionMode模式結(jié)束處理(點擊左側(cè)取消,或者點擊返回鍵結(jié)束ActionMode模式)。
            // ActionMode.finish()執(zhí)行后會結(jié)束ActionMode模式,此時會執(zhí)行這里。
        }
    }

ActionMode樣式自定義

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- 左側(cè)返回按鈕圖片 -->
    <item name="actionModeCloseDrawable">@mipmap/ic_launcher</item>
    <!-- 其他需要修改樣式可以在這里自定義 -->
</style>
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI