zoukankan      html  css  js  c++  java
  • FBReaderJ学习笔记(三):Footer底部状态栏更改

    底部状态栏显示页码,电量和时间,原版还弄了个进度条,但是无论是它的OldStyle还是NewStyle都不好看,那个进度条完全是多余的。那就动手改吧,我们最终实现的效果是这样的。

    关键在org.geometerplus.fbreader.fbreader.FBView这个类中。这里的结构是这样的。

    因为比较简单,我直接贴代码了。

    首先是Footer类。

            //右侧信息
            protected String buildInfoString(String separator) {
                final StringBuilder info = new StringBuilder();
                final FooterOptions footerOptions = myViewOptions.getFooterOptions();
    //            if (footerOptions.ShowProgress.getValue()) {
    //                info.append(pagePosition.Current);
    //                info.append("/");
    //                info.append(pagePosition.Total);
    //            }
                if (footerOptions.ShowBattery.getValue()) {
                    if (info.length() > 0) {
                        info.append(separator);
                    }
                    info.append(myReader.getBatteryLevel());
                    info.append("%");
                }
                if (footerOptions.ShowClock.getValue()) {
                    if (info.length() > 0) {
                        info.append(separator);
                    }
                    info.append(ZLibrary.Instance().getCurrentTimeString());
                }
                return info.toString();
            }
            //左侧进度页码
            protected String buildProgressString(PagePosition pagePosition){
                final StringBuilder info = new StringBuilder();
                final FooterOptions footerOptions = myViewOptions.getFooterOptions();
                if (footerOptions.ShowProgress.getValue()) {
                    info.append(pagePosition.Current);
                    info.append("/");
                    info.append(pagePosition.Total);
                }
                return info.toString();
            }

    然后在FooterOldStyle和FooterNewStyle中绘制出相应的信息,同时注释掉绘制进度条的部分。

                // draw info text
                final String infoString = buildInfoString(" | ");
                final String progressString=buildProgressString(pagePosition);
                final int infoWidth = context.getStringWidth(infoString);
                context.setTextColor(fgColor);
                context.drawString(right - infoWidth, height - delta, infoString);
                context.drawString(left, height - delta, progressString);
  • 相关阅读:
    IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法
    5个CSS3技术实现设计增强
    SQL Server 2005 中的分区表和索引
    推荐12款可用于前端开发的免费文本编辑器
    960 Grid System
    初识Byte
    在线制作网站
    sqlserver操作符篇 优化
    ASP.NET 异常处理
    Photoshop 隐藏的快捷键
  • 原文地址:https://www.cnblogs.com/chace/p/4280356.html
Copyright © 2011-2022 走看看