android中关机项按下时的背景底色怎样去掉

长按Power键时弹出框时有关机、重新启动、飞行模式,它们每项按下去时都会有一个背景底色,照理讲其背景底色的设置可能是在drawable下面的xml文件,是一个selec... 长按Power键时弹出框时有关机、重新启动、飞行模式,它们每项按下去时都会有一个背景底色,照理讲其背景底色的设置可能是在drawable下面的xml文件,是一个selector设置的,这样想对不对啊,这个背景底色到底是在哪里设置的啊 展开
 我来答
百度网友25351c6
2015-03-14 · TA获得超过860个赞
知道小有建树答主
回答量:474
采纳率:0%
帮助的人:318万
展开全部
frameworks\policies\base\phone\com\android\internal\policy\impl\GlobalAction.java

public void showDialog(boolean keyguardShowing, boolean isDeviceProvisioned) {
mKeyguardShowing = keyguardShowing;
mDeviceProvisioned = isDeviceProvisioned;
if (mDialog == null) {
mStatusBar = (StatusBarManager)mContext.getSystemService(Context.STATUS_BAR_SERVICE);
mDialog = createDialog();
}
prepareDialog();

mStatusBar.disable(StatusBarManager.DISABLE_EXPAND);
mDialog.show();
}

private AlertDialog createDialog() {
mSilentModeToggle = new ToggleAction(
R.drawable.ic_lock_silent_mode,
R.drawable.ic_lock_silent_mode_off,
R.string.global_action_toggle_silent_mode,
R.string.global_action_silent_mode_on_status,
R.string.global_action_silent_mode_off_status) {

void willCreate() {
// XXX: FIXME: switch to ic_lock_vibrate_mode when available
mEnabledIconResId = (Settings.System.getInt(mContext.getContentResolver(),
Settings.System.VIBRATE_IN_SILENT, 1) == 1)
? R.drawable.ic_lock_silent_mode_vibrate
: R.drawable.ic_lock_silent_mode;
}

void onToggle(boolean on) {
if (on) {
mAudioManager.setRingerMode((Settings.System.getInt(mContext.getContentResolver(),
Settings.System.VIBRATE_IN_SILENT, 1) == 1)
? AudioManager.RINGER_MODE_VIBRATE
: AudioManager.RINGER_MODE_SILENT);
} else {
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
}

public boolean showDuringKeyguard() {
return true;
}

public boolean showBeforeProvisioning() {
return false;
}
};

mAirplaneModeOn = new ToggleAction(
R.drawable.ic_lock_airplane_mode,
R.drawable.ic_lock_airplane_mode_off,
R.string.global_actions_toggle_airplane_mode,
R.string.global_actions_airplane_mode_on_status,
R.string.global_actions_airplane_mode_off_status) {

void onToggle(boolean on) {
if (Boolean.parseBoolean(
SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
mIsWaitingForEcmExit = true;
// Launch ECM exit dialog
Intent ecmDialogIntent =
new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null);
ecmDialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(ecmDialogIntent);
} else {
changeAirplaneModeSystemSetting(on);
}
}

@Override
protected void changeStateFromPress(boolean buttonOn) {
// In ECM mode airplane state cannot be changed
if (!(Boolean.parseBoolean(
SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE)))) {
mState = buttonOn ? State.TurningOn : State.TurningOff;
mAirplaneState = mState;
}
}

public boolean showDuringKeyguard() {
return true;
}

public boolean showBeforeProvisioning() {
return false;
}
};

mItems = Lists.newArrayList(
// silent mode
mSilentModeToggle,
// next: airplane mode
mAirplaneModeOn,
// last: power off
new SinglePressAction(
com.android.internal.R.drawable.ic_lock_power_off,
R.string.global_action_power_off) {

<span style="color: #0000FF;">public void onPress() {
// shutdown by making sure radio and power are handled accordingly.
ShutdownThread.shutdown(mContext, true);
} </span>

public boolean showDuringKeyguard() {
return true;
}

public boolean showBeforeProvisioning() {
return true;
}
});

mAdapter = new MyAdapter();

final AlertDialog.Builder ab = new AlertDialog.Builder(mContext);

ab.setAdapter(mAdapter, this)
.setInverseBackgroundForced(true)
.setTitle(R.string.global_actions);

final AlertDialog dialog = ab.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
if (!mContext.getResources().getBoolean(
com.android.internal.R.bool.config_sf_slowBlur)) {
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
}

dialog.setOnDismissListener(this);

return dialog;
}
追问
额,上面这段代码里好像没有能把其背景底色去掉的地方吧,亲
追答
我所贴出的只是它的关键代码,具体的就交给你判断了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
榄枫品质文档
2015-03-14 · 品质管理质量文档交换,大家相互学习。
榄枫品质文档
采纳数:213 获赞数:595

向TA提问 私信TA
展开全部
那要修改系统文件的,一般的我们搞不了的,免得变砖!
更多追问追答
追问
那要是在系统文件里面,应该是系统文件里面的哪个属性呢,如果我们想要修改的话,对系统文件里面的这个属性重写不可以吗?
追答
还是不要改的好,免得变砖,我的就转过!还是我的朋友是安卓工程师才帮我搞好的!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式