从 Activity 向 Dialog 应用单独的主题

Applying a separate theme to Dialog from Activity

我有一个 Activity,它在 AndroidManifest 中应用了自定义主题:

 <activity
            android:name=".FoodSearchActivity"
            android:windowSoftInputMode="adjustResize"
            android:theme="@style/Theme.AppCompat.Translucent">
  </activity>

单击此 Activity 上的 ListView 项目允许自定义 Dialog window(我创建了一个扩展的自定义 class FoodDialog Dialog) 弹出。这个Dialogwindow就是继承了这个主题,有点丑。

无论如何我可以为 Dialog window 应用一个单独的主题吗?

您可以通过在构造函数中调用 Dialog.Dialog(Context context, int themeResId),在 Dialog 子类中的 Activity 主题之上应用自定义样式,即:

public FoodDialog(Context context) {
    super(context, R.style.foodDialogStyle);
    /* ... */
}