您好,登錄后才能下訂單哦!
ActionMode模式為在頁面產(chǎn)生一個懸浮的類似于ActionBar的控件,懸浮在ActionBar之上。
使用它的好處在于,不需要在頁面上再增加操作控件,充分利用頁面空間。
此方法在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_PRIMARY
和TYPE_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
方法,定位浮動工具欄位置)
實現(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í)行這里。
}
}
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- 左側(cè)返回按鈕圖片 -->
<item name="actionModeCloseDrawable">@mipmap/ic_launcher</item>
<!-- 其他需要修改樣式可以在這里自定義 -->
</style>
免責聲明:本站發(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)容。