老套路看图:
在上图红包个数那里是个EditText控件,当我删除数字后光标就无法显示了,看下我的xml写法:
<EditText
android:id="@+id/et_red_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_15"
android:background="@null"
android:gravity="center"
android:inputType="number"
android:maxLength="3"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5"
android:text="10"
android:textColor="@color/color_333"
android:textSize="15sp"/>
细心看上面实际上什么问题都没有。
最后如何解决的呢?经过我反复研究最终得出了如下结论:
实际上也很简单,因为我们是对EdItText进行wrap_content自适应大小,那么当我们删除所有数字的时候文本框的宽度就为0了,这样光标也就不见了。所以解决办法非常简单:
直接设置编辑框的固定值即可:
如下改法:
<EditText
android:id="@+id/et_red_number"
android:layout_width="@dimen/dp_40"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_15"
android:background="@null"
android:gravity="center"
android:inputType="number"
android:maxLength="3"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5"
android:text="10"
android:textColor="@color/color_333"
android:textSize="15sp"/>
我们将编辑框的宽度设为固定大小40这样就可以了看效果图:
可以了。