Подтвердить что ты не робот

Изменить цвет фона Предпочтения

У меня есть файл 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" в каждом файле, фон не превращается в синий или любой другой цвет. Цвет по умолчанию остается черным. Как изменить цвет фона. Пожалуйста, дайте мне знать любые указатели/подсказки, если вы столкнулись с такой же проблемой, дайте мне знать, какие изменения вы внесли, чтобы установить цвет фона.

4b9b3361

Ответ 1

Это сработало для меня

getListView().setBackgroundColor(Color.TRANSPARENT);

getListView().setCacheColorHint(Color.TRANSPARENT);

getListView().setBackgroundColor(Color.rgb(4, 26, 55));

Ответ 2

Вы можете определить тему, а затем установить это для своей PreferenceActivity в манифесте. Затем ваша тема может определить цвет фона или изображение окна, если вы предпочитаете это.

манифеста:

    <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>

В приведенном выше фрагменте есть как цвет фона, так и фоновое изображение, определяющее, как это сделать.

Ответ 3

Еще одна проблема, связанная с цветом, заключается в том, что вы создаете тему для активности предпочтений и ставите цвет фона в виде списка:

<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>

Ответ 4

android:background не является доступным атрибутом, в соответствии с документацией.

Возможно, вы могли бы пометить PreferenceActivity, чтобы добиться изменения цвета, хотя я этого не пробовал, потому что хочу, чтобы мои настройки выглядели как у остальных Android, чтобы улучшить удобство использования приложения.

Ответ 5

Или вы также можете сделать drawable в качестве фона:

getListView() <ударa > setBackgroundDrawableудаp > (GetResources() getDrawable (R.drawable.bluegradient).);.

Примечание. setBackgroundDrawable() устарел. Вместо этого используйте setBackground().

getListView() setBackground (GetResources() getDrawable (R.drawable.bluegradient).);.

Ответ 6

Пожалуйста, укажите линейный макет с прикрепленным текстом и укажите цвет фона и прикрепите этот xml к категории предпочтений, используя свойство layout.

<PreferenceCategory
     android:layout="@layout/preftitle"
 >

Если preftitle - это xml, который имеет линейный макет и текстовый вид.

Ответ 7

Перейдите к 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

Если вы хотите изменить свой фон