设置RichTextField,TextField的背景和字体颜色

时间:2009-09-16 06:00:20

标签: user-interface blackberry layout colors

我们如何在RichTextField中设置背景和字体颜色?我试图覆盖paint()方法以及已经描述的here,但是当我向下滚动时,背景被删除或重置为白色背景

2 个答案:

答案 0 :(得分:4)

在RIM 4.6及更高版本中,您可以使用背景:

class ExRichTextField extends RichTextField {

    int mTextColor;

    public ExRichTextField(String text, int bgColor, int textColor) {
        super(text);
        mTextColor = textColor;
        Background background = BackgroundFactory
                .createSolidBackground(bgColor);
        setBackground(background);
    }

    protected void paint(Graphics graphics) {
        graphics.setColor(mTextColor);
        super.paint(graphics);
    }
}

对于RIM 4.5及更低版本,使用绘画事件来绘制背景你自己:

class ExRichTextField extends RichTextField {

    int mTextColor;
    int mBgColor;

    public ExRichTextField(String text, int bgColor, int textColor) {
        super(text);
        mTextColor = textColor;
        mBgColor = bgColor;
    }

    protected void paint(Graphics graphics) {
        graphics.clear();
        graphics.setColor(mBgColor);
        graphics.fillRect(0, 0, getWidth(), getHeight());
        graphics.setColor(mTextColor);
        super.paint(graphics);
    }
}

答案 1 :(得分:0)

RichTextField mes_=new RichTextField("texto de ejemplo",Field.NON_FOCUSABLE){
    protected void paint(Graphics g){ 
        g.setColor(0x00e52f64);
        super.paint(g);
    }
};
mes_.setBackground(BackgroundFactory.createSolidBackground(0xFFFADDDA));

该声明中的方法是改变字体颜色的方法。调用后的方法创建了它,用于将背景更改为纯色。