我想将左右边距设置为40dp
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.content_dialog, null);
dialogBuilder.setView(dialogView);
AppCompatTextView title = new AppCompatTextView(this);
int innerPadding_px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics());
int outerPaddingLeftRight_px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 40, getResources().getDisplayMetrics());
title.setPadding(innerPadding_px, innerPadding_px, innerPadding_px, innerPadding_px);
AlertDialog alertDialog = dialogBuilder.create();
WindowManager.LayoutParams layoutParams = alertDialog.getWindow().getAttributes();
我尝试这样,但它不起作用
layoutParams.horizontalMargin = outerPaddingLeftRight_px;
alertDialog.getWindow().setAttributes(layoutParams);
alertDialog.setTitle("Выбрать автомобиль");
alertDialog.show();
答案 0 :(得分:0)
当您为视图充气时,您可以向视图添加自定义布局参数以允许动态边距。
膨胀对话框视图。
View dialogView = inflater.inflate(R.layout.content_dialog, null);
获取线性布局视图的布局参数。我们假设您使用的是您在评论部分粘贴的xml代码中的LinearLayout。
LinearLayout.LayoutParams layoutParams = dialogView.getLayoutParams();
设置您想要设置的边距。
layoutParams.horizontalMargin = outerPaddingLeftRight_px;
要求布局请重新发布您的观点,因为您已更新布局参数。
dialogView.requestLayout();
最后将新的闪亮视图设置为“警报对话框”构建器。
dialogBuilder.setView(dialogView);