1

enter image description here![Image][2] I have tried this code

private static class MySpan implements LineHeightSpan {
        private final int height;

        MySpan(int height) {
            this.height = height;
        }

        @Override
        public void chooseHeight(CharSequence text, int start, int end, int spanstartv, int v,
                FontMetricsInt fm) {
            fm.bottom += height;
            fm.descent += height;
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final TextView tv = new TextView(this);
        setContentView(tv);

        tv.setText("Lines:\n", BufferType.EDITABLE);
        appendLine(tv.getEditableText(), "Line 1 = 40\n", 40);
        appendLine(tv.getEditableText(), "Line 2 = 30\n", 30);
        appendLine(tv.getEditableText(), "Line 3 = 20\n", 20);
        appendLine(tv.getEditableText(), "Line 4 = 10\n", 10);

    }

    private void appendLine(Editable text, String string, int height) {
        final int start = text.length();
        text.append(string);
        final int end = text.length();
        text.setSpan(new MySpan(height), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }

I am trying to set padding between lines of TextView, but not able to do it. How to differentiate multiple lines in TextView ,if i set background color of TextView. Please point me in the right direction. I want to differentiate color between two line . as u can see that in this image it is not working .. I want some thing like 1st image while i am getting output like 2nd image.. Please help me.. thanks in advance

ADT
  • 255
  • 1
  • 4
  • 14

2 Answers2

1

Try this way

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final TextView tv = new TextView(this);
    tv.setLineSpacing(2, 1); // UPDATE HERE
    setContentView(tv);

    tv.setText("Lines:\n", BufferType.EDITABLE);
    appendLine(tv.getEditableText(), "Line 1 = 40\n", 40);
    appendLine(tv.getEditableText(), "Line 2 = 30\n", 30);
    appendLine(tv.getEditableText(), "Line 3 = 20\n", 20);
    appendLine(tv.getEditableText(), "Line 4 = 10\n", 10);

}
Biraj Zalavadia
  • 28,348
  • 10
  • 61
  • 77
  • Thanks for replying , but i did'nt get result ,I have edited my question please refer it.. reply me back – ADT Sep 05 '13 at 06:26
0

If you want to split lines and display them in different color then refer to following links.

Split text from string

Apply color to specific text

Community
  • 1
  • 1
Ketan Ahir
  • 6,678
  • 1
  • 23
  • 45
  • Thanks for reply, Actually I want to set background color for text and if text is multi line then i want to make separation that on line can be seen.. – ADT Sep 05 '13 at 07:26