preferencescreen

PreferenceScreen类如何使某个preference灰掉

小云
98
2023-08-05 21:55:42
栏目: 编程语言

要使PreferenceScreen中的某个Preference项变灰,可以通过设置该Preference的enabled属性为false来实现。在PreferenceScreen对应的xml布局文件中,找到需要灰掉的Preference项,添加enabled属性,并设置为false。

例如,假设有一个PreferenceScreen布局文件preference_screen.xml,其中包含一个EditTextPreference项,要使该项变灰,可以如下设置:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 其他Preference项 -->
<EditTextPreference
android:key="example_preference"
android:title="Example Preference"
android:enabled="false"/>
<!-- 其他Preference项 -->
</PreferenceScreen>

在代码中加载该布局文件,并显示PreferenceScreen时,该EditTextPreference项就会以灰色字体显示,并且无法与用户交互。

public class MyPreferenceActivity extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_screen);
}
}

注意:使用PreferenceScreen需要在AndroidManifest.xml文件中声明该Activity。

<activity
android:name=".MyPreferenceActivity"
android:label="My Preferences"
android:theme="@style/PreferenceTheme"/>

0
看了该问题的人还看了