关于设置ActionMode 的背景


第一次写东西 战战兢兢,还希望大家多提宝贵意见。

今天突然想起要用ActionMode,于是就别别扭扭的写了一个小demo,用起来 感觉还可以,但是 在修改ActionMode的时候碰到阻碍了,就是无法自己修改ActionMode背景(在解决之前),如果背景不能修改这个ActionMode就不太适合使用,一般在项目中UI一般都是同一风格的包括颜色以及其他,所以就在网上各种搜索,答案不少但是都没能正确指导我完成自己的需求,所以为了不让其他人浪费时间,在此贴上自己的解决方案。

修改之前:

                          

想要的效果:

                       

解决方案:

1)实现CallBack接口

     

    @Override
  


  public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        getMenuInflater().inflate(R.menu.action_mode, menu);

        return true;
    }

    @Override
    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        return false;
    }

    @Override
    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        int itemId = item.getItemId();
        Toast.makeText(this,item.getTitle(),Toast.LENGTH_SHORT).show();
        mode.finish();
        return false;
    }

    @Override
    public void onDestroyActionMode(ActionMode mode) {

    }
2)启动ActionMode 
  

  public void start(View view){
        startActionMode(this);

    }
3)设置style风格

 
    

附加一下menu文件:






运行后就可以的到结果了



个人感觉重要的地方是style中

@null这一句话 没有他只设置actionmodebackground的颜色是不管用的



你可能感兴趣的:(Android)