PreferenceCategory
、xmlファイルがあり、その中ですべての設定を定義しました。PreferenceActivity
を拡張するクラスからこれを呼び出します。設定画面の背景を設定できません。この画面は、以下に示すxmlファイルの助けを借りて表示されます。 Android:background="#041A37"
をすでに定義していることを確認してください。それでも画面はデフォルトの色である黒のままです。
public class MyPreferenceActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
Context mContext=super.getBaseContext();
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.preference);
//v.setBackgroundColor(Color.rgb(4, 26, 55));
}
}
preference.xmlは
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:background="#041A37" >
<PreferenceCategory>
<com.dropcall.SeekBarPreference
Android:background="#041A37"
Android:defaultValue="5"
Android:key="@string/Interference_Delay"
Android:progressDrawable="@drawable/seekbardrawable"
Android:title="Seconds Delay until intereference" />
<com.dropcall.SeekBarPreference2
Android:defaultValue="30"
Android:key="@string/Drop_Delay"
Android:progressDrawable="@drawable/seekbardrawable"
Android:title="Seconds delay until drop" />
<CheckBoxPreference
Android:background="@drawable/state_normal"
Android:defaultValue="true"
Android:key="@string/Drop_Option"
Android:title="Close after call drop" />
<CheckBoxPreference
Android:background="@drawable/state_normal"
Android:defaultValue="true"
Android:key="@string/Timer_Option"
Android:title="Start timers on launch" />
</PreferenceCategory>
</PreferenceScreen>
すべてのファイルにAndroid:background="#041A37"
を設定しましたが、背景が紺色やその他の色に変わることはありません。デフォルトの色である黒のままです。背景色を変更する方法。あなたが同じ問題に直面していた場合、私はすべてのポインタ/ヒントを教えてください、背景色を設定するためにあなたが行った変更を教えてください。
これは私のために働いた
getListView().setBackgroundColor(Color.TRANSPARENT);
getListView().setCacheColorHint(Color.TRANSPARENT);
getListView().setBackgroundColor(Color.rgb(4, 26, 55));
テーマを定義して、マニフェストのPreferenceActivityに設定できます。その後、テーマで背景色またはwindowBackgroundイメージを定義できます。
マニフェスト:
<activity Android:label="@string/app_label" Android:name=".client.PreferencesActivity"
Android:theme="@style/PreferencesTheme">
<intent-filter>
</intent-filter>
</activity>
次に、テーマをstyles.xmlに追加します
<style name="PreferencesTheme">
<item name="Android:windowBackground">@drawable/background_image</item>
<item name="Android:background">#FFEAEAEA</item>
</style>
上記のスニペットには、その方法を示すために定義された背景色と背景画像の両方があります。
色に関する限り、別の回避策は、設定アクティビティのテーマを作成し、リストビューの背景色も設定することです。
<style name="PrefsTheme" parent="@Android:style/Theme.Black.NoTitleBar">
<item name="Android:windowBackground">@color/prefs_bg</item>
<item name="Android:textColor">@color/text_color</item>
<item name="Android:listViewStyle">@style/listViewPrefs</item>
</style>
<style name="listViewPrefs" parent="@Android:style/Widget.ListView">
<item name="Android:background">@color/prefs_bg</item>
<item name="Android:cacheColorHint">@color/prefs_bg</item>
</style>
documentation によれば、Android:background
は利用可能な属性ではありません。
PreferenceActivity
をテーマにして色の変更を実現できますが、アプリの使いやすさを向上させるために、他のAndroidの設定と同じように設定するため、これを試していません。
または、背景として描画可能にすることもできます。
getListView()。
setBackgroundDrawable(getResources()。getDrawable(R.drawable.bluegradient));
注:setBackgroundDrawable()
は非推奨です。代わりにsetBackground()
を使用してください。
getListView()。setBackground(getResources()。getDrawable(R.drawable.bluegradient));
Textviewが添付された線形レイアウトを指定し、背景色を指定し、layoutプロパティを使用してこのXMLをpreferencecategoryに添付してください。
<PreferenceCategory
Android:layout="@layout/preftitle"
>
Preftitleは、線形レイアウトとテキストビューが添付されたxmlです。
res>values>styles.xml>
に移動し、このコードを<style > </style>
に追加します。スタイルは、この@color/activ
がアプリのベーステーマでなければなりません。
<style name="app_theme" parent="@Android:style/Theme">
<item name="Android:windowBackground">@color/activ</item>
<item name="Android:windowContentOverlay">@drawable/title_bar_shadow</item>
<item name="Android:listViewStyle">@style/TransparentListView</item>
</style>
スタイルタグのapp_theme
名前を使用する場合、マニフェストに次のように追加します
<application
Android:name=".XXXXXX"
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/app_theme" > //here
背景のみを変更する場合