簡體   English   中英

如何在Android上獲取默認警報對話框有黑色主題

[英]How to get the default alert Dialog on android have a black theme

您如何在android中獲得黑色主題對話框,如android指南http://developer.android.com/guide/topics/ui/dialogs.html上所示

我做了一個屏幕截圖。 每當我使用“警報對話框”時,都會在左側顯示該對話框,而在右側則需要一個對話框。

在此處輸入圖片說明

從API 11開始很簡單:

AlertDialog.Builder alert = new AlertDialog.Builder(context, AlertDialog.THEME_DEVICE_DEFAULT_DARK);

API 14中添加了字段THEME_DEVICE_DEFAULT_DARK ,因此,如果您在此之前定位,則只需使用數字值即可,因此:

AlertDialog.Builder alert = new AlertDialog.Builder(context, 4);

您可以使用不同的常量,其值在此處顯示。 在API 14之前的版本中,您仍然會收到白色警報。

-------------------------------------------------- -------------- 更新 ----------------------------------- ---------------------

AlertDialog.THEME_DEVICE_DEFAULT_DARK已棄用,

下面是更新的代碼:

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this, android.R.style.Theme_DeviceDefault_Light_Dialog_Alert);

您可以選擇其他主題代替此android.R.style.Theme_DeviceDefault_Light_Dialog_Alert

res / values / styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <style name="default_activity_theme" parent="@android:style/Theme.Holo"/>
</resources>

AndroidManifest.xml

<activity android:name=".ActivityMain"
          android:theme="@style/default_activity_theme"/>

如果您不想更改Activity的主題,則可以擴展AlertDialog並在其構造Theme.Holo中提供Theme.HoloAlertDialog(Context context, int theme)

如果使用DialogFragment實現自定義對話框,請在onCreate()方法中設置主題,如下所示:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState)
    setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Holo_Dialog)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM