我使用了EditText一个AlertDialog类似的内部:
final AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
final EditText input = new EditText(getActivity());
alert.setView(input);
Run Code Online (Sandbox Code Playgroud)
现在我想为此设置边距,EditText这样它就不会占用对话框的整个宽度。我怎样才能做到这一点?(我不考虑膨胀的自定义选项的Layout在这一点上)

如果你不想膨胀自定义布局,试试这个
AlertDialog.Builder dialog = new AlertDialog.Builder(Login.this);
final EditText email_input = new EditText(Login.this);
LinearLayout linearLayout = new LinearLayout(Login.this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.CENTER;
email_input.setHint("Email Address");
email_input.setLayoutParams(layoutParams);
linearLayout.addView(email_input);
linearLayout.setPadding(60, 0, 60, 0);
dialog.setTitle("Forgot Password?");
dialog.setMessage("Enter Your Email Address");
dialog.setView(linearLayout);
dialog.setPositiveButton("Send", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Some Code
}
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.dismiss();
}
});
dialog.show();
Run Code Online (Sandbox Code Playgroud)
您可以在setView方法中传递间距参数
alert.setView(view ,left_space , top_space , right_space , bottom_space);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3029 次 |
| 最近记录: |