与创建的TTF字体垂直对齐

时间:2019-05-11 15:15:24

标签: codenameone

在Android上(在模拟器或IOS中工作正常)在Label上使用创建的TTF字体(来自文件)时,请勿将图标与字体垂直对齐,字体应位于顶部。当我使用本地字体时,效果很好。

我的测试用例的表单代码,如您在ScreenShots,IOS和Simulador上看到的那样,Valign位于Label和Picker的中心,但是在Android上居于居首,这在所有组件中都是如此

package test.kandy;

import com.codename1.ui.Display;
import com.codename1.ui.Font;
import com.codename1.ui.FontImage;
import com.codename1.ui.Form;
import com.codename1.ui.Label;
import com.codename1.ui.layouts.BoxLayout;
import com.codename1.ui.plaf.Style;
import com.codename1.ui.spinner.Picker;

public class ShaiForm extends Form {

    private Form previous;

    public ShaiForm() {

        setLayout(new BoxLayout(BoxLayout.Y_AXIS));

        int fontSize = Display.getInstance().convertToPixels(3);
        Font appFont = Font.createTrueTypeFont("Suisse Int'l", "Suisse Int'l.ttf" ).derive(fontSize, Font.STYLE_PLAIN);;

        FontImage fntImage = FontImage.createFixed("\uE161", FontImage.getMaterialDesignFont(), 0x0, 100, 100);

        Label labelCustomTTF =  new Label ("custom TTF");
        Style labelStyle = labelCustomTTF.getAllStyles();
        labelStyle.setFont(appFont);
        labelCustomTTF.setIcon(fntImage);

        Label labelNative =  new Label ("native Font");
        labelNative.setIcon(fntImage);

        Picker stringPickerCustom = new Picker();
        Style pickerStyle = stringPickerCustom.getAllStyles();
        pickerStyle.setFont(appFont);
        stringPickerCustom.setType(Display.PICKER_TYPE_STRINGS);
        stringPickerCustom.setStrings("custom TTF Font");
        stringPickerCustom.setText("custom TTF Font");

        Picker stringPickerNative = new Picker();
        stringPickerNative.setType(Display.PICKER_TYPE_STRINGS);
        stringPickerNative.setStrings("native Font");
        stringPickerNative.setText("native Font");

        add(labelCustomTTF);
        add(labelNative);       
        add(stringPickerCustom);
        add(stringPickerNative);

    }

    public void show() {
        previous = Display.getInstance().getCurrent();
        super.show();
    }

    public void goBack(){
        previous.showBack();
    }

}

Font File

Android

IOS

Simulator

0 个答案:

没有答案