2014-01-14 123 views
0

如何实现我的文本标签付款的同一行对齐方式左对齐并将其值对齐? 这是我的代码。有没有bixolon SPP-R300 SDK的功能,我该如何实现它。谢谢。Android:使用Bixolon热敏打印机(SPP-R300)打印对齐

JPOSprinting.mBixolonPrinter.printText("TOTAL AMOUNT PAID",alignmentLeft , textAttributeNormal, BixolonPrinter.TEXT_SIZE_HORIZONTAL1, false); 
JPOSprinting.mBixolonPrinter.printText(AmtPd +"\n", alignmentRight,textAttributeNormal, BixolonPrinter.TEXT_SIZE_HORIZONTAL1, false); 

回答

0

让我跟大家分享一些代码:

private final int LINE_CHARS = 42; 

private void printTextColumns(String leftText, String rightText) { 
    if (leftText.length() + rightText.length() + 1 > LINE_CHARS) { // If two Strings cannot fit in same line 
     int alignment = BixolonPrinter.ALIGNMENT_LEFT; 
     int attribute = 0; 
     attribute |= BixolonPrinter.TEXT_ATTRIBUTE_FONT_C; 
     bixolonPrinter.printText(leftText, alignment, attribute, BixolonPrinter.TEXT_SIZE_HORIZONTAL1, false); 

     alignment = BixolonPrinter.ALIGNMENT_RIGHT; 
     attribute = 0; 
     attribute |= BixolonPrinter.TEXT_ATTRIBUTE_FONT_C; 
     bixolonPrinter.printText(rightText, alignment, attribute, BixolonPrinter.TEXT_SIZE_HORIZONTAL1, false); 
    } else { 
     int padding = LINE_CHARS - leftText.length() - rightText.length(); 
     String paddingChar = " "; 
     for (int i = 0; i < padding; i++) { 
      paddingChar = paddingChar.concat(" "); 
     } 

     int alignment = BixolonPrinter.ALIGNMENT_LEFT; 
     int attribute = 0; 
     attribute |= BixolonPrinter.TEXT_ATTRIBUTE_FONT_C; 
     bixolonPrinter.printText(leftText + paddingChar + rightText, alignment, attribute, BixolonPrinter.TEXT_SIZE_HORIZONTAL1, false); 
    } 
} 

希望它适合你需要的东西!