gpt4 book ai didi

android - 将字体添加到首选项屏幕标题

转载 作者:太空狗 更新时间:2023-10-29 16:18:05 27 4
gpt4 key购买 nike

我已经创建了嵌套的 preferenceScreens。我想将自定义字体添加到 preferenceScreen 标题和摘要。 我尝试使用加载到字体的字体。我怎样才能做到这一点?谢谢。

这是我的preference.xml:

   <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/manage_device_title"
android:key="@string/device_category">
<PreferenceScreen android:title="@string/manage_device"
android:key="@string/manage_device_KEY"
android:summary="@string/device_summary" >
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>

最佳答案

您需要为此创建 CustomPreferenceCustomPreferenceCategory。在您的 preference.xml

中包含 CustomPreferenceCustomPreferenceCategory

自定义偏好:

public class CustomPreference extends Preference {
Typeface fontStyle;

public CustomPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);

}

public CustomPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}

public CustomPreference(Context context) {
super(context);
}

@Override
protected void onBindView(View view) {
super.onBindView(view);

fontStyle = Typeface.createFromAsset(CA.getApplication().getApplicationContext().getAssets(), AppConstants.fontStyle);
TextView titleView = (TextView) view.findViewById(android.R.id.title);
titleView.setTypeface(fontStyle);
titleView.setTextColor(Color.RED);
TextView summaryView = (TextView) view.findViewById(android.R.id.summary);
summaryView.setTypeface(fontStyle);
summaryView.setTextColor(Color.RED);
}
}

自定义偏好类别:

 public class CustomPreferenceCategory extends PreferenceCategory {
Typeface fontStyle;

public CustomPreferenceCategory(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);

}

public CustomPreferenceCategory(Context context, AttributeSet attrs) {
super(context, attrs);
}

public CustomPreferenceCategory(Context context) {
super(context);
}

@Override
protected void onBindView(View view) {
super.onBindView(view);

fontStyle = Typeface.createFromAsset(CA.getApplication()
.getApplicationContext().getAssets(), AppConstants.fontStyle);
TextView titleView = (TextView) view.findViewById(android.R.id.title);
titleView.setTypeface(fontStyle);
// titleView.setTextColor(Color.RED);
}
}

在您的 Preference.xml 中,您需要使用这些自定义类创建 PreferenceCategoryPreference

 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CustomPreferenceCategory android:title="@string/manage_device_title"
android:key="@string/device_category">
<CustomPreference android:title="@string/manage_device"
android:key="@string/manage_device_KEY"
android:summary="@string/device_summary" >
</CustomPreference>
</CustomPreferenceCategory>
</PreferenceScreen>

注意:preference.xml 中引用时,请使用正确的 CustomPerenceCategory 和 CustomPreference 包名称,并根据需要为 fontStyle 添加。

关于android - 将字体添加到首选项屏幕标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22058389/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com