0

これはAndroidと同じ私のカスタムレイアウトですlinear layout

public class Custom_TopField extends VerticalFieldManager {
    private static final int FIELD_HEIGHT = 70;

    private String _text;

    Custom_TopField(int color, String text) {
        super(Manager.NO_VERTICAL_SCROLL);
        _text = text;

        Background background = BackgroundFactory.createSolidBackground(color);
        setBackground(background);
    }

    protected void sublayout(int width, int height) {
        width = Math.min(width, getPreferredWidth());
        height = Math.min(height, getPreferredHeight());
        setExtent(width, height);
    }

    public int getPreferredHeight() {
        return FIELD_HEIGHT;
    }

    public int getPreferredWidth() {
        return Display.getWidth();
    }

    public void paint(Graphics graphics) {
        int rectHeight = getPreferredHeight();
        int rectWidth = getPreferredWidth();

        Font font = Font.getDefault().derive(Font.BOLD, 65);
        graphics.drawRect(0, 0, rectWidth, rectHeight);
        graphics.drawText(_text, rectWidth / 2, 10);
        graphics.setFont(font);
        graphics.setColor(Color.WHITE);
        super.paint(graphics);
    }
}

出力 = 背景赤、フォント = 黒

私が欲しいのは背景赤、フォント白、フォントサイズ40です。

プログラムでウィジェットを作成する方法も知りたいですか?

4

1 に答える 1

0

フォントを白に、サイズを 40 に設定するには、次のようにペイントを変更します。

public void paint(Graphics graphics) {
    int rectHeight = getPreferredHeight();
    int rectWidth = getPreferredWidth();

    Font font = Font.getDefault().derive(Font.BOLD, 40);
    graphics.setColor(Color.WHITE);
    graphics.setFont(font);
    graphics.drawRect(0, 0, rectWidth, rectHeight);
    graphics.drawText(_text, rectWidth / 2, 10);
    super.paint(graphics);
}
于 2012-06-04T08:38:17.507 に答える