android action格式,Android ActionMode模式使用

ActionMode模式

ActionMode模式为在页面产生一个悬浮的类似于ActionBar的控件,悬浮在ActionBar之上。

使用它的好处在于,不需要在页面上再增加操作控件,充分利用页面空间。

ActionMode启动方式

此方法在Activity类中实现,继承自Activity类可以使用。

// API11加入(默认模式TYPE_PRIMARY)

public ActionMode startActionMode(ActionMode.Callback callback);

// API23加入

public ActionMode startActionMode(ActionMode.Callback callback, int type);

API23加入带type类型构造,分别为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.(浮动工具栏类型,回调需要使用ActionMode.Callback2,实现onGetContentRect方法,定位浮动工具栏位置)

ActionMode监听回调

实现ActionMode.Callback接口。

private class MyActionModeCallback implements ActionMode.Callback {

@Override

public boolean onCreateActionMode(ActionMode mode, Menu menu) {

// ActionMode创建,定义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点击回调

if (item.getItemId() == R.id.menu_confirm) {

mode.finish();

}

return false;

}

@Override

public void onDestroyActionMode(ActionMode mode) {

// ActionMode模式结束处理(点击左侧取消,或者点击返回键结束ActionMode模式)。

// ActionMode.finish()执行后会结束ActionMode模式,此时会执行这里。

}

}

ActionMode样式自定义

@mipmap/ic_launcher

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用 Kotlin 编写以下代码来实现 Android 开发中文本操作菜单: 1. 在 XML 文件中添加 TextView 组件: ``` <TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="This is some sample text." /> ``` 2. 在 Kotlin 文件中对 TextView 进行处理: ``` import android.view.ActionMode import android.view.Menu import android.view.MenuItem import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class MainActivity : AppCompatActivity() { private lateinit var textView: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) textView = findViewById(R.id.text_view) textView.customSelectionActionModeCallback = object : ActionMode.Callback { override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { menuInflater.inflate(R.menu.text_view_menu, menu) return true } override fun onActionItemClicked(mode: ActionMode, item: MenuItem): Boolean { when (item.itemId) { R.id.menu_item_cut -> { textView.cut() mode.finish() return true } R.id.menu_item_copy -> { textView.copy() mode.finish() return true } R.id.menu_item_paste -> { textView.paste() mode.finish() return true } else -> return false } } override fun onDestroyActionMode(mode: ActionMode) {} override fun onPrepareActionMode(mode: ActionMode, menu: Menu): Boolean { return false } } } } ``` 在上面的 Kotlin 代码中,我们使用了自定义的 SelectionActionMode.Callback 对 TextView 进行处理,并在 ActionMode 中添加三个菜单选项:剪切、复制和粘贴。这些选项可以通过调用 TextView 的相应方法来执行操作。 希望这个答案对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值