博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FBReaderJ学习笔记(四):SelectionPopup样式更改
阅读量:5167 次
发布时间:2019-06-13

本文共 2081 字,大约阅读时间需要 6 分钟。

这篇文章是在第二篇文章上继续更改Popup。

先贴出结构。TextSearchPopup跟SelectionPopup大同小异,所以这里只讲SelectionPopup。

首先更改ButtonsPopupPanel,修改addButton()方法。

//selectionPopup的按钮,isText代表是否是文字按钮    protected void addButton(String actionId, boolean isCloseButton, int resourceId,boolean isText) {        final ActionButton button = new ActionButton(myWindow.getContext(), actionId, isCloseButton);        if(isText){            button.setText(resourceId);            button.setTextColor(myActivity.getResources().getColor(R.color.text_white_87));            //设置按钮背景透明            button.setBackgroundResource(R.drawable.yuedu_bg_read_pop);        }else{            button.setBackgroundResource(resourceId);        }        myWindow.addView(button);        button.setOnClickListener(this);        myButtons.add(button);    }

然后在SelectionPopup中修改addButton。

public void createControlPanel(FBReader activity, RelativeLayout root) {        if (myWindow != null && activity == myWindow.getActivity()) {            return;        }        myWindow = new PopupWindow(activity, root, PopupWindow.Location.Floating);        addButton(ActionCode.SELECTION_COPY_TO_CLIPBOARD, true, R.string.button_selectionPopup_copy,true);        addButton(ActionCode.SELECTION_SHARE, true, R.string.button_seleectionPopup_share,true);        addButton(ActionCode.SELECTION_TRANSLATE, true, R.string.button_selectionPopup_baike,true);                addButton(ActionCode.SELECTION_BOOKMARK, true, R.string.button_selectionPopup_bookmark,true);//去掉取消选中的按钮        addButton(ActionCode.SELECTION_CLEAR, true, R.drawable.selection_close,false);    }

这里我们把取消选中的那个按钮给去掉了,因为直接可以用myFBReaderApp.runAction(ActionCode.SELECTION_CLEAR)来取消选中。修改navigate()函数,现在点击屏幕即可直接取消选中和切换全屏。

public void navigate() {        if(myFBReaderApp.getActivePopup()!=null){            setStatusBarVisibility(false);        }else{            setStatusBarVisibility(true);        }        myFBReaderApp.runAction(ActionCode.SELECTION_CLEAR);        ((MainMenuPopup)myFBReaderApp.getPopupById(MainMenuPopup.ID)).showMainMenu();    }

 

转载于:https://www.cnblogs.com/chace/p/4280358.html

你可能感兴趣的文章
centos su命令
查看>>
CLR:基元类型、引用类型和值类型
查看>>
dubbo序列化hibernate.LazyInitializationException could not initialize proxy - no Session懒加载异常的解决...
查看>>
jQuery中的事件绑定的几种方式
查看>>
泥塑课
查看>>
iOS 自定义的对象类型的解档和归档
查看>>
setImageBitmap和setImageResource
查看>>
springMVC4 注解配置实例
查看>>
单片机编程
查看>>
Filter in Servlet
查看>>
Linux--SquashFS
查看>>
Application Pool Identities
查看>>
2017-3-24 开通博客园
查看>>
【MySQL性能优化】MySQL常见SQL错误用法
查看>>
3.6 字符串
查看>>
Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
查看>>
Struts 2 常用技术
查看>>
树形DP
查看>>
Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法
查看>>
python flask解决上传下载的问题
查看>>