我在我的 Android 应用程序中创建了一个带有 EditText 的 AlertDialog,但默认边距看起来真的很差。我尝试按如下方式指定边距:
android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(SpinActivity.this);
builder.setTitle("Edit Spin Tags");
builder.setMessage("(separate tags with commas)");
// set input
int margin = 10;
final EditText input = new EditText(SpinActivity.this);
input.setSingleLine();
input.setText(spinTags.toString().replace("[", "").replace("]", ""));
builder.setView(input, margin, 0, margin, 0);
但是,从下图中,您可以看到它没有应用预期的效果。
我尝试过的其他选项包括将输入放在 LinearLayout 中,并在将 AlertDialog View 设置为 LinearLayout 之前使用 LayoutParams 设置边距。
如何在 AlertDialog 中设置 EditText 的边距?
最佳答案
实际上您的解决方案运行良好,除了 builder.setView(input, margin, 0, margin, 0);
以“像素”值作为参数。所以 20 的值非常小。要么使用更高的 margin 值,例如在 100 年代。或使用此函数将 dp 转换为像素
public static int dpToPx(int dp)
{
return (int) (dp * Resources.getSystem().getDisplayMetrics().density);
}
然后,
int margin = dpToPx(20);
关于android - 在 AlertDialog 中设置 EditText 的边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38571517/