2

私の基本的な設定画面はこのように見えますが、その理由はわかりません。面白いことに、最初はいつも魅力的ですが、設定画面を何度も行ったり来たりすると、そのように見えます。ちなみにこれはラジャワリエンジンを使ったライブ壁紙です。エンジンに関係あると思いますか?他のライブ壁紙でこれを経験したことがないからです。

ここに画像の説明を入力

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="sharedprefs"
android:title="@string/settings_title" >

<PreferenceCategory android:title="@string/first_header" >

</PreferenceCategory>
<PreferenceCategory android:title="@string/more_header" >
<Preference
    android:key="market"
    android:summary="@string/market_sum"
    android:title="@string/market_title" >
</Preference>
<Preference
    android:key="bytom"
    android:summary="@string/about_sum"
    android:title="@string/about_title" >
</Preference>
</PreferenceCategory>
</PreferenceScreen>

マニフェストで

<activity
    android:name=".Settings"
    android:exported="true">

</activity>

活動中

package com.mydomain.wallpaper.mywallpaper;




import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;


public class Settings extends PreferenceActivity implements         SharedPreferences.OnSharedPreferenceChangeListener {

protected void onCreate(Bundle icicle) {
super.onCreate(icicle);

getPreferenceManager().setSharedPreferencesName(Service.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.settings);
        getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this    );


}

protected void onResume() {
super.onResume();
}

protected void onDestroy() {
getPreferenceManager().getSharedPreferences()
        .unregisterOnSharedPreferenceChangeListener(this);
super.onDestroy();
}

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
    String key) {
}
}
4

1 に答える 1

1

これが役立つかどうかはわかりませんが、スタイル属性が問題の原因であることがわかりました. 「droidin.net」からのこの投稿は、2009 年から役立ちました。

https://groups.google.com/forum/#!topic/android-developers/G_WceF9dfPg

なんらかの理由で(おそらく、あまり考えずにサンプルコードをコピーしただけです)、theme.xmlにこの行がありました

<item name="android:windowBackground">@null</item>. 

削除すると、再描画の問題がなくなりました

于 2014-01-03T21:11:33.823 に答える