实现将一个preference的title起始为蓝色,在点击之后变灰
时间: 2024-02-22 11:59:11 浏览: 20
要将Preference控件的Title初始显示为蓝色,在点击之后变灰,你可以通过在xml中定义一个style来实现。以下是一个示例代码:
首先,在res/values/styles.xml中定义一个style:
```
<style name="MyPreferenceStyle">
<item name="android:textColor">@color/blue</item>
</style>
```
这里的blue可以是你定义的任何颜色值。
然后,在xml中将该style应用到对应的Preference控件上:
```
<Preference
android:key="my_preference"
android:title="My Preference Title"
style="@style/MyPreferenceStyle"/>
```
这样,该Preference控件的Title就会显示为蓝色。接下来,要实现在点击之后将Title变灰,可以在Preference控件的点击事件监听器中设置Title的颜色。以下是一个示例代码:
```
Preference myPreference = findPreference("my_preference");
myPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
// 在点击事件中将该Preference控件的Title颜色变灰
TextView titleView = (TextView) preference.getView(View.getContext());
if (titleView != null) {
titleView.setTextColor(ContextCompat.getColor(getContext(), android.R.color.darker_gray));
}
return true;
}
});
```
注意,这里的"my_preference"是你在xml中定义的Preference控件的key。当用户点击该Preference控件时,将通过TextView获取其Title视图,并将其颜色设置为灰色。如果你使用的是PreferenceFragment或PreferenceActivity,该设置会被保存并在下次打开应用时仍然有效。