溫馨提示×

PreferenceScreen類如何使某個preference灰掉

小云
106
2023-08-05 21:55:42
欄目: 編程語言

要使PreferenceScreen中的某個Preference項變灰,可以通過設置該Preference的enabled屬性為false來實現(xiàn)。在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