显示黑色背景的 Android 警报

Hel*_*ojo 1 java alert android android-alertdialog

目前,我有一个空检查,它显示和警报(运行正常),但是我希望此警报显示为黑色背景,而不仅仅是警报对话框。

我已经尝试删除,finish();但只是显示带有先前布局的警报在其后面 - 并留下它会导致警报出现在用户的主屏幕上 - 我的问题是:如何修改它以显示带有简单黑色背景的警报反而?

StartActivity.java 源代码片段:

   } else {
                // ICS and UP
                if (isMDNPresent) {
                    //start SaveMDN activity
                    Intent i = new Intent(StartActivity.this, SaveMDN.class);
                    startActivity(i);
                    finish();
                } else {
                    //start Update Activity
                    Intent i = new Intent(StartActivity.this,
                            UpdateActivity.class);
                    startActivity(i);
                    finish();
                }
            }
Run Code Online (Sandbox Code Playgroud)

SaveMDN.java 源代码片段:

 public class SaveMDN extends Activity {

EditText saveMDN;
TextView enterMdn;
Button save;
public static String mdn = "";
int version;
String temp;
TelephonyManager tm;
AlertDialog mErrorAlert = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    if (tm.getLine1Number()== null){
        showAlert(getString(R.string.insert_sim_dialog));
Run Code Online (Sandbox Code Playgroud)

小智 5

这是一个示例,向您展示如何更改 alertDialog 的背景。

public class MainActivity extends Activity implements OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btn = (Button)findViewById(R.id.mybtn);
    btn.setOnClickListener(this);

}



public void showDialog(){

    AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom));
    builder.setMessage("Test")

           .setPositiveButton("YES", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   // FIRE ZE MISSILES!
               }
           })
           .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   // User cancelled the dialog
               }
           });

   builder.show();
    // Create the AlertDialog object and return it

}
@Override
public void onClick(View v) {
    switch (v.getId()) {
    case R.id.mybtn:
        showDialog();   
        break;

    default:
        break;
    }   
}
Run Code Online (Sandbox Code Playgroud)

}

您需要在styles.xml 中添加以下代码:

    <style name="AlertDialogCustom">
      <item name="android:textColor">#FF0000</item>
      <item name="android:background">#FF0000</item>
      <item name="android:typeface">normal</item>
      <item name="android:textSize">10sp</item>
     </style>
Run Code Online (Sandbox Code Playgroud)

在你的用户界面中:

    <Button 
    android:id="@+id/mybtn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TEST BUTTON"
    />
Run Code Online (Sandbox Code Playgroud)

这是我为您的问题快速制作的一个简单示例。希望这可以帮助。干杯