mez*_*iga 10 android android-custom-view android-edittext android-inputtype
我创建了一个自定义EditText,并onDraw()重写了它的功能.一切都工作正常(我可以在EditText中绘制任何内容),直到我想为此更改输入方法EditText并调用此函数:
setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
Run Code Online (Sandbox Code Playgroud)
无论我何时何地调用它:在调用它之后,我的自定义EditText消失,只显示原始EditText,虽然我的重写onDraw()函数,并且在其中,或者调用它的超级函数(无论我在哪里调用它) .
我也曾尝试用透明色扮演一些帖子这里建议:
setBackgroundColor(Color.TRANSPARENT)在基类,也是
paint.setColor(0x80FF0000)我Paint的目标onDraw()函数,但他们都没有效果.
编辑:我发现问题不在于设置输入类型,而是同时设置输入类型和重力EditText:
setGravity(Gravity.CENTER_HORIZONTAL);
Run Code Online (Sandbox Code Playgroud)
如果未设置其中任何一个,我的自定义视图将按预期绘制.(还有更奇怪的是):Gravity.CENTER_VERTICAL没有问题,只有Gravity.CENTER_HORIZONTAL和Gravity.CENTER.
看起来这两个设置是互斥的.这有可能吗?
检查你的getScrollX()价值观.我打赌你会看到1000000像素的值.EditText以这种奇怪的方式翻译它的画布,所以尽管你实际上正在绘制它,但它远离可见的剪辑.
要解决此问题,只需将scrollX值添加到绘图坐标即可.
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |