1, 在源码下搜,grep "已停止运行" -r ,找到他的字段名,搜到id为"aerr_application"的字段
2,继续搜 ,grep "aerr_application" -r ,看他在那里用到,搜到 AppErrorDialog的文件,位置:Z:\myandroid\frameworks\base\services\java\com\android\server\am,但是这个文件里面没见用到style,那么看他的基类,AppErrorDialog extends BaseErrorDialog3,BaseErrorDialog 里面看到 super(context, com.android.internal.R.style.Theme_Dialog_AppError);好了,去找这个style,当然是在frameworks\base\core\res\res\theme里面
class BaseErrorDialog extends AlertDialog {
public BaseErrorDialog(Context context) {
super(context, com.android.internal.R.style.Theme_Dialog_AppError);
getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
WindowManager.LayoutParams attrs = getWindow().getAttributes();
attrs.setTitle("Error Dialog");
getWindow().setAttributes(attrs);
setIconAttribute(R.attr.alertDialogIcon);
}
4,在style里面搜,改变 <item name="windowBackground">@android:color/transparent</item>发现并没卵用,这是dialog的整体背景,titlebar和下面的button有自己的背景,那么看他基类Theme.Holo.Dialog
<!-- @hide -->
<style name="Theme.Dialog.AppError" parent="Theme.Holo.Dialog">
<item name="windowFrame">&#