Android中Dialog对话框学习
程序员文章站
2022-03-09 22:55:51
...
记录Android中Dialog对话框学习
setView
设置一个自定义的View放置到message的下方,可以是一个View对象,也可以是一个view资源ID。 如:
builder.setView(new EditText(this));
这是插入一个setView的情况,那插入多个时如何?
如下:
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bn = findViewById(R.id.bn01);//对应xml中button的id
final AlertDialog.Builder builder =new AlertDialog.Builder(this);
bn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
builder.setTitle("普通对话框");//设置对话框标题
final EditText editText1=new EditText(MainActivity.this);
editText1.setText("账号");//设置可编辑文本框
final EditText editText2=new EditText(MainActivity.this);
editText2.setText("密码:");//设置可编辑文本框
final EditText editText3=new EditText(MainActivity.this);
editText3.setText("电话号码:");//设置可编辑文本框
LinearLayout layout=new LinearLayout(MainActivity.this);//线性布局
layout.setOrientation(LinearLayout.VERTICAL);//设置垂直方向
layout.addView(editText1);
layout.addView(editText2);
layout.addView(editText3);
builder.setView(layout);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (TextUtils.isEmpty(editText1.getText())&&TextUtils.isEmpty(editText2.getText())&&TextUtils.isEmpty(editText3.getText())){
Toast.makeText(MainActivity.this,"您输入的内容为空",Toast.LENGTH_SHORT).show();
}else {
}
}}
);
builder.setNegativeButton("取消", null);
builder.show();
}
});
}
}
activity_main.xml
<Button
android:id="@+id/bn01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/mes" />
strings.xml
<resources>
<string name="app_name">DialogApp</string>
<string name="mes">显示登录对话框</string>
</resources>
自带的方法可能不太完美,后续继续学习用户自定义Dialog结合xml
下一篇: GraphQL(一):GraphQL介绍