Android下EditText使用android:lineSpacingExtra设置了行距,显示时光标的高度也会增加。
解决方法:自定义cursor光标的背景,设置padding bottom的值为负值,就可以抵消行间距的影响(android 14)以上。
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="14sp"
android:lineSpacingExtra="10dp"
android:textCursorDrawable="@drawable/color_cursor" />
color_cursor.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="2dp"/>
<padding android:bottom="-10sp"></padding>
<solid android:color="@color/contractions"/>
</shape>