を固定しているようです私のベースFragmentActivity
に次のメソッドを追加し、レイアウトが膨張された後onCreate
でそれを呼び出す:
/**
* Set the window content overlay on device's that don't respect the theme
* attribute.
*/
private void setWindowContentOverlayCompat() {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.JELLY_BEAN_MR2) {
// Get the content view
View contentView = findViewById(android.R.id.content);
// Make sure it's a valid instance of a FrameLayout
if (contentView instanceof FrameLayout) {
TypedValue tv = new TypedValue();
// Get the windowContentOverlay value of the current theme
if (getTheme().resolveAttribute(
android.R.attr.windowContentOverlay, tv, true)) {
// If it's a valid resource, set it as the foreground drawable
// for the content view
if (tv.resourceId != 0) {
((FrameLayout) contentView).setForeground(
getResources().getDrawable(tv.resourceId));
}
}
}
}
}
この作品は、あなたのテーマを変更したりレイアウトをレイアウトに動的に追加したりする必要がないのでうまくいきます。これは前方互換性があり、このバグが修正されると簡単に削除できます。
私はちょうど今日我々のアプリで同じことに気づきました。簡単な解決策があると願っています。 – twaddington
ActionBarSherlockを使用していますか? ActionBarSherlockの人たちから、この変更にいくつかの詳細がありますように – tad
が見える:あなたは慎重に見るとhttps://github.com/JakeWharton/ActionBarSherlock/issues/1003 – twaddington