我的主要布局中有一个EditText。我还有一个应用程序主题,其中默认的edittext使用自定义curdordrawable进行样式化。
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/introEditText"
android:gravity="top"
android:singleLine="false"
android:text=""
android:inputType="textMultiLine"
android:textSize="24sp" >
<requestFocus/>
</EditText>
<style name="AppTheme" parent="android:Theme.Holo.NoActionBar">
<item name="android:textColor">#ffffff</item>
...
<item name="android:editTextStyle">@style/EditTextStyle</item>
</style>
<style name="EditTextStyle" parent="@android:style/Widget.EditText">
<item name="android:background">@android:color/transparent</item>
<item name="android:textCursorDrawable">@drawable/cursor</item>
</style>
我的自定义光标是:
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<size android:width="2dp" />
<solid android:color="#363636" />
</shape>
光标颜色正确,但宽度不正确。在第一行中,其宽度为1像素而不是2dp。当文本换行时,光标变为2dp宽。此外,在edittext没有文本时不显示。我在4.4上进行了测试(HTC One和Nexus 7)。这是Android的一个bug吗?