我希望对话框中的消息文本居中对齐。
发布于 2011-02-10 15:00:55
创建您自己的TextView对象,然后将其作为视图提供给弹出窗口构建器:
AlertDialog.Builder popupBuilder = new AlertDialog.Builder(this);
TextView myMsg = new TextView(this);
myMsg.setText("Central");
myMsg.setGravity(Gravity.CENTER_HORIZONTAL);
popupBuilder.setView(myMsg);
您可以控制所有其他文本参数(样式、颜色、大小...)。要控制页边距,您可以编程创建LinearLayout,设置LayoutParams,然后将TextView放入其中。
发布于 2011-05-10 18:46:53
当然,您始终可以设置原始文本视图的重力。这使您不必担心格式化和填充。
例如
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
builder.setMessage("Message");
builder.setPositiveButton("OK", null);
AlertDialog dialog = builder.show();
// Must call show() prior to fetching text view
TextView messageView = (TextView)dialog.findViewById(android.R.id.message);
messageView.setGravity(Gravity.CENTER);
发布于 2013-09-26 19:24:08
根据Chase的回答,下面是如何将标题居中的方法。我认为这是最简单的方法。我不明白为什么android没有默认居中或者让它成为一个简单的构造函数参数。
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("My Title");
builder.setMessage("My message");
builder.setPositiveButton("OK", listener);
AlertDialog dialog = builder.show();
// Must call show() prior to fetching views
TextView messageView = (TextView)dialog.findViewById(android.R.id.message);
messageView.setGravity(Gravity.CENTER);
TextView titleView = (TextView)dialog.findViewById(context.getResources().getIdentifier("alertTitle", "id", "android"));
if (titleView != null) {
titleView.setGravity(Gravity.CENTER);
}
https://stackoverflow.com/questions/4954130
复制相似问题