zoukankan      html  css  js  c++  java
  • 如何修改CheckBoxPreference title字体

    /*
     * Copyright (C) 2007 The Android Open Source Project
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package android.preference;
    
    import android.content.Context;
    import android.graphics.Typeface;
    import android.util.AttributeSet;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    
    /**
     * A {@link Preference} that provides checkbox widget functionality.
     * <p>
     * This preference will store a boolean into the SharedPreferences.
     * 
     * @attr ref android.R.styleable#CheckBoxPreference_summaryOff
     * @attr ref android.R.styleable#CheckBoxPreference_summaryOn
     * @attr ref android.R.styleable#CheckBoxPreference_disableDependentsState
     */
    public class CheckBoxPreferenceFontDefault extends CheckBoxPreference {
        public String DefaultFont = "/system/fonts/DroidSansFallback.ttf";
        
        public CheckBoxPreferenceFontDefault(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }
    
        public CheckBoxPreferenceFontDefault(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        public CheckBoxPreferenceFontDefault(Context context) {
            super(context);
        }
    
        @Override
        protected View onCreateView(ViewGroup parent) {
            View view = super.onCreateView(parent);
    
            TextView titleView = (TextView) view.findViewById(com.android.internal.R.id.title);;
            Typeface tf = Typeface.createFromFile(DefaultFont);
            titleView.setTypeface(tf);
    
            return view;
    
        }
    }
    

    已上是代码,核心点就是重写onCreateView()函数。

    因为只有TextView才可以修改字体,大小等。


    参考文档:

    关于createFromAsset

    Android 自定义CheckBoxPreference的CheckBox复选框 

    apply custom theme in android preference

    Android中通过typeface设置字体

    如何改变CheckBoxPreference组件中title和summary字体的大小

  • 相关阅读:
    TASK1
    CSS再学
    Html再学
    Python的hasattr() getattr() setattr() 函数使用方法详解
    GET/POST/g和钩子函数(hook)
    cookie和session
    SQLAlchemy外键的使用
    jquery树形菜单插件treeView
    linux设置防火墙
    linux解压命令
  • 原文地址:https://www.cnblogs.com/chengliu/p/4130616.html
Copyright © 2011-2022 走看看