我有一个EditText
用户需要输入日期的地方。对于日期选择,我有一个自定义轮视图(如 iOS)。现在点击date EditText
,我想从底部打开一个像抽屉一样的软键盘并将那个轮子视图放在里面。
那么我可以用我的滚轮视图替换软键盘吗?我的意思是,container
持有键盘的那个现在应该持有我的自定义wheel view
。
有没有办法做到这一点?还是出于我的目的还有其他更好的选择?
我有一个EditText
用户需要输入日期的地方。对于日期选择,我有一个自定义轮视图(如 iOS)。现在点击date EditText
,我想从底部打开一个像抽屉一样的软键盘并将那个轮子视图放在里面。
那么我可以用我的滚轮视图替换软键盘吗?我的意思是,container
持有键盘的那个现在应该持有我的自定义wheel view
。
有没有办法做到这一点?还是出于我的目的还有其他更好的选择?
1)如果你必须使用EditText
,你可以通过正确设置它的输入类型来防止键盘出现。其他答案已经提到了。
2)但是为什么EditText
在这里使用,特别是因为你没有在这里使用键盘输入任何值。您可以使用 a TextView
,并且您可以向上为 a (包含日期选择器)onClickListener
设置动画。LinearLayout
yourTextView.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
//Animate a LinearLayout containing a DatePicker
animateDatePickerView();
}
});
取决于您的要求以及您希望它的可重用程度。
对于简单的方法,您可以创建一个视图来托管该轮选择器,将其对齐根布局的底部,并使用一些动画隐藏/显示它。
首先,您需要覆盖编辑文本的 onTouchListener,使用该事件并在那里做您想做的事情。
editText.setOnTouchListener(new OnTouchListener() {
public boolean onTouch (View v, MotionEvent event) {
//Show the wheely wheel.
return true; //Consume the event.
}
});
我的个人想法(未测试)
setInputType(InputType.TYPE_NULL);