@SuppressLint("RtlHardcoded")
    private TitleProperty copyTextProperty(TitleProperty property) {
        int gravity = getGravity();
        switch (gravity & Gravity.HORIZONTAL_GRAVITY_MASK) {
            case Gravity.START:
            case Gravity.LEFT:
                property.mLeft = getPaddingLeft();
                break;
            case Gravity.END:
            case Gravity.RIGHT:
                property.mLeft = getWidth() - getPaddingRight() - getTextLen();
                break;
            case Gravity.CENTER_HORIZONTAL:
                int lp = getPaddingLeft();
                int rp = getPaddingRight();
                int center = lp + ((getWidth() - lp - rp) >> 1);
                int halfTextLen = getTextLen() / 2;
                property.mLeft = center - halfTextLen;
                break;
            default:
                property.mLeft = getPaddingLeft();
                break;
        }

        property.mAlpha = 0;
        property.mTextSize = (int) getTextSize();
        property.mTop = super.getPaddingTop();

        return property;
    }
Refresh hint ui by this

@param value Hint TitleProperty
caprice/ui/src/main/java/net/qiujuer/genius/ui/widget/EditText.java