默认情况下,警报消息对于屏幕较少的特定设备来说太大了,我想将其设置为自定义dp
我的提醒是这样的
OnClickListener addNewItemListener = new OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder alert = new AlertDialog.Builder(
MyActivity.this);
LinearLayout myLayout= new LinearLayout(MyActivity.this);
myLayout.setOrientation(LinearLayout.VERTICAL);
alert.setTitle(R.string.add_title);
alert.setMessage(R.string.add_message);
final TextView t1 = new TextView(MyActivity.this);
t1.setText("Name");
final EditText input1 = new EditText(MyActivity.this);
myLayout.addView(t1);
myLayout.addView(input1);
alert.setView(myLayout);
alert.setPositiveButton(R.string.cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
}
});
alert.setNegativeButton(R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
try {
....
} catch (RuntimeException e) {
Alerts.DatiErrati(MyActivity.this);
}
}
});
alert.show();
}
};
如何设置警告信息的文字大小?
答案 0 :(得分:5)
编辑2:
这是您可以使用的最佳方法
AlertDialog.Builder builder = new Builder(this);
builder.setMessage("Record and Images will be deleted?")
.setTitle("MyTitle")
.setCancelable(true)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog,
int id)
{
dialog.cancel();
finish();
}
})
.setNegativeButton("No",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog,
int id)
{
dialog.cancel();
}
});
AlertDialog dialog = builder.create();
dialog.show();
TextView textView = (TextView) dialog.findViewById(android.R.id.message);
textView.setTextSize(40);
您可以使用以下内容仅获取更大的文字
alert.setMessage(Html.fromHtml("<Big>"+getString(R.string.add_message)+"</Big>"));
注意:您可以使用更多 big's 来获取更大的文字
答案 1 :(得分:1)
试试这个:
AlertDialog dialog = new AlertDialog.Builder(this).setMessage("Hello world").show();
TextView textView = (TextView) dialog.findViewById(android.R.id.message);
textView.setTextSize(40);
答案 2 :(得分:0)
使用此代码来控制alertDialog
AlertDialog builder = new AlertDialog.Builder(getActivity())
.setTitle("title")
.setMessage("message")
.setPositiveButton(getResources().getString(R.string.yes), (dialogInterface, i) -> {
dialogInterface.dismiss();
})
.setNegativeButton(getResources().getString(R.string.cancel), (dialogInterface, i) -> dialogInterface.dismiss())
try {
// /Modify Determine the font size of the Cancel button
// builder.getButton(AlertDialog.BUTTON_POSITIVE).setTextSize(26);
// builder.getButton(DialogInterface.BUTTON_NEGATIVE).setTextSize(26);
// Get the mAlert object
Field mAlert = AlertDialog.class.getDeclaredField("mAlert");
mAlert.setAccessible(true);
Object mAlertController = mAlert.get(builder);
// Get mTitleView and set the size of the color
Field mTitle = mAlertController.getClass().getDeclaredField("mTitleView");
mTitle.setAccessible(true);
TextView mTitleView = (TextView) mTitle.get(mAlertController);
mTitleView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen._13sdp));
mTitleView.setTextColor(getResources().getColor(R.color.font_black));
mTitleView.setLineSpacing(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8f, getResources().getDisplayMetrics()), 1.0f);
mTitleView.setGravity(View.TEXT_ALIGNMENT_VIEW_START);
mTitleView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
// Get mMessageView and set the size of the color
Field mMessage = mAlertController.getClass().getDeclaredField("mMessageView");
mMessage.setAccessible(true);
TextView mMessageView = (TextView) mMessage.get(mAlertController);
mMessageView.setPadding(mMessageView.getPaddingLeft(), (int) (mMessageView.getCompoundPaddingTop() + (TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 7, getResources().getDisplayMetrics()))), mMessageView.getCompoundPaddingRight(), mMessageView.getCompoundPaddingBottom());
mMessageView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen._10sdp));
mMessageView.setTextColor(getResources().getColor(R.color.font_black2));
mMessageView.setLineSpacing(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8f, getResources().getDisplayMetrics()), 1.0f);
mMessageView.setGravity(View.TEXT_ALIGNMENT_VIEW_START);
mMessageView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);
} catch (Exception e) {
e.printStackTrace();
}
供Proguard使用此代码
# for alertDialog, to customize title and message
-keep class androidx.appcompat.app.AlertDialog { *; }
-keep class androidx.appcompat.app.AppCompatDialog { *; }