Ste*_*ann 5 android datepicker material-design
我是 Android 开发新手,目前正在尝试将材料设计集成到我的应用程序中。我想评估一个简单的表单,为此我使用了组件com.google.android.material.textfield.TextInputLayout和com.google.android.material.textfield.TextInputEditText用户输入。除了文本输入之外,我还需要一个日期,我想用MaterialDatePicker.
我尝试显示MaterialDatePickerwith OnFocusChangeListener,这也有效,但我有两个问题。
MaterialDatePicker.MaterialDatePicker再次打开。这就是我实施的方式OnFocusChangeListener
@Override
public void onFocusChange(View view, boolean selected) {
if( view.getId() == R.id.myId&& selected ){
MaterialDatePicker.Builder builder = MaterialDatePicker.Builder.datePicker();
MaterialDatePicker picker = builder.build();
picker.show( this.getParentFragmentManager(), "DATE_PICKER" );
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更适合演示的 Material Design 替代组件?我想将行为保留在表单内,因此一旦用户输入日期,上面就应该显示一个小标签,如下所示:
感谢您的帮助。
我最近遇到了同样的问题。
关于键盘的第一个问题可以通过调用来解决:
mTextInputEditText.setInputType(InputType.TYPE_NULL);
Run Code Online (Sandbox Code Playgroud)
通过将 InputType 设置为 TYPE_NULL,键盘将不会通过单击文本字段来打开。此外,如果您不再希望用户能够输入任何文本,您可以添加:
mTextInputEditText.setKeyListener(null);
Run Code Online (Sandbox Code Playgroud)
第二个问题,要在已获得焦点的情况下再次显示 DatePicker,您可以设置一个额外的 onClickListener:
mTextInputEditText.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
openDatePicker();
}
});
Run Code Online (Sandbox Code Playgroud)
当用户再次单击文本字段时,就会调用 OnClickListener。遗憾的是,第一次点击时它将不起作用。您可以查看此答案/sf/answers/825992401/以获取更多信息。不幸的是,根据 Material 的提示,使文本字段无法聚焦会导致奇怪的行为。
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
6165 次 |
| 最近记录: |