1

我有一个EditText用户需要输入日期的地方。对于日期选择,我有一个自定义轮视图(如 iOS)。现在点击date EditText,我想从底部打开一个像抽屉一样的软键盘并将那个轮子视图放在里面。

那么我可以用我的滚轮视图替换软键盘吗?我的意思是,container持有键盘的那个现在应该持有我的自定义wheel view

有没有办法做到这一点?还是出于我的目的还有其他更好的选择?

4

3 回答 3

1

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();
    }
});
于 2012-11-20T09:44:32.453 回答
1

取决于您的要求以及您希望它的可重用程度。

对于简单的方法,您可以创建一个视图来托管该轮选择器,将其对齐根布局的底部,并使用一些动画隐藏/显示它。

首先,您需要覆盖编辑文本的 onTouchListener,使用该事件并在那里做您想做的事情。

editText.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch (View v, MotionEvent event) {
        //Show the wheely wheel.
        return true; //Consume the event.
    }
 });
于 2012-11-20T09:45:46.460 回答
0

我的个人想法(未测试)

  • 防止在edittext获得焦点时显示键盘。例如,setInputType(InputType.TYPE_NULL);
  • 使用包含您的轮子的自定义活动并将其显示为对话框(将主题设置为对话框)。
于 2012-11-20T09:39:44.980 回答