如何设计对话框以具有复选框和一个 EditText 框?
How to design dialog to have Checkboxes and one EditText box?
我正在尝试设计对话框 xml 文件。遵循 Material 设计指南有点困难。基本上我希望对话框 window 允许用户多次选中复选框,并在底部有一个选项来添加自定义选项(一个 EditText
)。例如:
Choose the options
[x] Option1
[] Option2
[x] Option3
[] Option4
Add custom options:
__________
[Cancel] [Ok]
我的代码:
public void onClick(View view) {
AlertDialog.Builder mBuilder = new AlertDialog.Builder(AddData.this);
View mView = getLayoutInflater().inflate(R.layout.dialog_adding_data,null);
// More code here
mBuilder.show();
}
据我所知,我使用的是自定义对话框布局。但是在 material 设计指南中,我没有看到执行类似操作的选项。另外我不确定如何设计 dialog_adding_data
文件。我如何设计 dialog_adding_data
以使其遵循 material 设计指南并具有相同的功能?
要实现您的 UI 要求,您需要为对话框设置自定义视图。这里的关键点是使用以下内容:
mBuilder.setView(mView);
如果您不使用 view/data 绑定,在引用视图时,请确保使用 mView.findViewById
而不是 findViewById
,如下所示:
EditText editText = mView.findViewById(R.id.edit_text);
// Add your code logic, etc.
关于您创建的 dialog_adding_data.xml
,它将与任何其他布局一样。根据您的具体需要,其层次结构可能如下所示:
<ScrollView>
<LinearLayout>
<CheckBox />
<CheckBox />
<!-- This one controls the EditText below. -->
<CheckBox android:text="Add custom options" />
<EditText />
</LinearLayout>
</ScrollView>
如果复选框计数是动态的,那么您可能需要使用具有 2 种视图类型(一种用于普通选项,另一种用于自定义选项)的 RecyclerView
。
我正在尝试设计对话框 xml 文件。遵循 Material 设计指南有点困难。基本上我希望对话框 window 允许用户多次选中复选框,并在底部有一个选项来添加自定义选项(一个 EditText
)。例如:
Choose the options
[x] Option1
[] Option2
[x] Option3
[] Option4
Add custom options:
__________
[Cancel] [Ok]
我的代码:
public void onClick(View view) {
AlertDialog.Builder mBuilder = new AlertDialog.Builder(AddData.this);
View mView = getLayoutInflater().inflate(R.layout.dialog_adding_data,null);
// More code here
mBuilder.show();
}
据我所知,我使用的是自定义对话框布局。但是在 material 设计指南中,我没有看到执行类似操作的选项。另外我不确定如何设计 dialog_adding_data
文件。我如何设计 dialog_adding_data
以使其遵循 material 设计指南并具有相同的功能?
要实现您的 UI 要求,您需要为对话框设置自定义视图。这里的关键点是使用以下内容:
mBuilder.setView(mView);
如果您不使用 view/data 绑定,在引用视图时,请确保使用 mView.findViewById
而不是 findViewById
,如下所示:
EditText editText = mView.findViewById(R.id.edit_text);
// Add your code logic, etc.
关于您创建的 dialog_adding_data.xml
,它将与任何其他布局一样。根据您的具体需要,其层次结构可能如下所示:
<ScrollView>
<LinearLayout>
<CheckBox />
<CheckBox />
<!-- This one controls the EditText below. -->
<CheckBox android:text="Add custom options" />
<EditText />
</LinearLayout>
</ScrollView>
如果复选框计数是动态的,那么您可能需要使用具有 2 种视图类型(一种用于普通选项,另一种用于自定义选项)的 RecyclerView
。