天天看點

Android 自定義光标樣式

今天自定義光标,自己切圖,不過怎麼切都是很寬。不是一個很細的條。我用ps花了一個像素的直線,放上去還是不行。後來在網上找到方法,那就是用shape。不得不說,shape真的是太吊了。

給EditText指定Android:textCursorDrawable屬性

<EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:textColorHint="@color/colorPure"
            android:inputType="textEmailAddress"
            android:background="@drawable/apptheme_edit_text_holo_light"
            android:textCursorDrawable="@drawable/cursor_purl"

            android:hint="Password"/>           

cursor_purl是一個資源檔案

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <size
        android:width="1dip" />
    <solid
        android:color="@color/colorPure" />
    <!--<padding-->
        <!--android:top="0sp"-->
        <!--android:bottom="0sp" />-->
</shape>           

設定成1dip寬度正好!

補充

通過width來指定光标的寬度

通過top屬性來使光标頂部 向上移動距離

通過bottom屬性來使光标底部 向下移動距離 (是以指定負數就是使光标底部向上挪了)