1

朋友们,我创建了一个 listpreferences 屏幕,它工作正常,但我想更改出现在列表和 RadioGroup 项目上的文本颜色。所以任何人都可以帮助我。

 <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
        <ListPreference      
         android:entries="@array/gametype"
         android:entryValues="@array/gametype"
         android:key="listpref"
         android:summary=""
         android:title="Set Game Level" />
</PreferenceScreen>

这是我的首选项屏幕。单击 listpreferences 项后,它会显示一个对话框,其中包含三个选项,因此我想更改该单选按钮文本和列表项文本的颜色。

这是java代码:

        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);
        SharedPreferences sp=getPreferenceScreen().getSharedPreferences();
        Preference pref=findPreference("listpref");
        ListPreference lp=(ListPreference)pref;
        pref.setSummary(lp.getValue());
        sp.registerOnSharedPreferenceChangeListener(this);


    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
            String key) {
        Preference pref=findPreference(key);
        ListPreference lp=(ListPreference)pref;
        pref.setSummary(lp.getValue());
    }
4

4 回答 4

1
public void setcolor(int position){
for(int i=0;i<4;i++)
{
    if(i==position)
    {
        list.getChildAt(i).setBackgroundColor(Color.rgb(238, 180,    180));
    }
    else{
        list.getChildAt(i).setBackgroundColor(Color.WHITE);
    }
}
于 2013-01-22T13:05:11.370 回答
0

试试这样;

RadioGroup.setTextColor(Color.GREEN);

这是一个很好的解决方案

于 2013-01-09T12:37:35.547 回答
0

如果您想在整个应用程序中保持一致的配色方案,我建议您学习添加主题或样式。这应该让你开始http://developer.android.com/guide/topics/ui/themes.html

于 2013-01-09T12:39:03.790 回答
0

使用 Html.fromHtml 设置文本样式。

mPodFolderPref.setTitle(Html.fromHtml("<font color='red'>" +  mPodFolderPref.getTitle() + "</font>"));
mPodFolderPref.setSummary(Html.fromHtml("<font color='red'>" +  mPodFolderPref.getSummary() + "</font>"));

Html.fromHtml 可以为您做很多事情。

马尔

于 2014-03-13T22:03:00.513 回答