我希望创建一个自定义组件,它是一个带有动态递增上下按钮的数字小键盘,如下所示:
此键盘还需要在具有多个EditText控件的视图中工作,并以某种方式获取具有Focus的EditText。每个EditText可能还需要不同的增量值(即+1,000,+ 10,+ 0.002等),这就是增量按钮需要是动态的。
我在这里找到了一个很好的例子,它可以帮助我达到某一点,但是这个键盘适用于一个EditText字段,它是控件的一部分。我的自定义组件需要在许多不同的布局中重复使用,并且还需要接收具有当前焦点的EditText以调整增量值。
Android custom numeric keyboard
我更喜欢使用键盘作为各种布局,因此在Android键盘被抑制时它会一直可见,但是我想让这个自定义键盘取代选择EditText时的默认键盘。
答案 0 :(得分:0)
getWindow().getCurrentFocus()
返回焦点控件,该控件应为instanceof EditText
...而当打算创建可重复使用的组件时,EditText
可能需要TextView.OnEditorActionListener添加,以显示自定义组件而不是默认组件。它甚至可能有意义,创建EditText
的自定义版本并使用它(而不是将观察者添加到几个单独的字段)。