L'espacement des lignes EditText augmente le problème et la position du curseur en ligne

J'essaie de créer un EditText sorte que l'espace entre chaque ligne soit comme 20 dp . Voir l'image ci-dessous.

Si j'utilise l'espacement entre lignes, la position du curseur n'est pas correctement alignée avec la ligne. J'ai réalisé l'espacement des lignes, mais le curseur n'est pas aligné avec la ligne. Voir la boîte rouge en surbrillance dans l'image ci-dessous.

 package com.example.dev_task_197_keyboard_accesory; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.util.AttributeSet; import android.widget.EditText; public class LineEditText extends EditText { private Rect mRect; private Paint mPaint; // we need this constructor for LayoutInflater public LineEditText(Context context, AttributeSet attrs) { super(context, attrs); mRect = new Rect(); mPaint = new Paint(); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); mPaint.setColor(Color.BLUE); //SET YOUR OWN COLOR HERE setMinLines(15); } @Override protected void onDraw(Canvas canvas) { int height = getHeight(); int line_height = getLineHeight(); int count = height / line_height; if(getLineCount() > count){ count = getLineCount(); } Rect r = mRect; Paint paint = mPaint; int baseline = getLineBounds(0, r); for (int i = 0; i < count; i++) { canvas.drawLine(r.left, baseline + 1, r.right, baseline + 1, paint); baseline += getLineHeight();//next line } // Finishes up by calling the parent method super.onDraw(canvas); } } 

Pour l'espacement des lignes, ajoutez le paramètre lineSpaceExtra et lineSpaceMultiplier dans le xml .

Veuillez suggérer.

Entrez la description de l'image ici

coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.