我正在尝试设计对话框xml文件。要遵循材料设计指南有点困难。基本上,我希望对话框窗口允许用户复选多个复选框,并在底部有一个添加自定义选项(一个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();
}
据我所知,我使用的是一个自定义的对话框布局。但在材料设计指南中,我没有看到这样做的选项。此外,我不确定如何设计dialog_adding_data
文件。我如何设计dialog_adding_data
,使其遵循材料设计指南并具有相同的功能?
发布于 2020-05-30 13:55:20
要满足您的UI要求,您需要为对话框设置一个自定义视图。这里的关键点是使用以下内容:
mBuilder.setView(mView);
如果您没有使用视图/数据绑定,则在引用视图时,请确保使用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>
如果复选框计数是动态的,那么您可能需要使用具有两种视图类型的RecyclerView
(一个用于普通选项,另一个用于自定义选项)。
https://stackoverflow.com/questions/62103184
复制相似问题