如何在片段中自定义字体样式

时间:2015-05-22 02:43:00

标签: android android-fragments

您好我想在我的片段中自定义字体样式,即使我已经在我的代码中使用了view和getActivity(),它总是强制关闭。这是我的代码

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
    View rootView = inflater.inflate(R.layout.changeFontFragment, container, false);

    TextView place = (TextView)rootView.findViewById(R.id.place);

    Typeface type = Typeface.createFromAsset(getActivity().getAssets(),"fonts/RegencieLight.ttf");
    place.setTypeface(type);

    return rootView;
}

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我认为资源文件名中不允许使用大写字母。因此,请尝试将changeFontFragment布局文件名更改为change_font_fragment。

答案 1 :(得分:0)

官方文件说:

  

如果您使用支持库API作为操作栏,则必须使用(或覆盖) Theme.AppCompat 系列样式(而不是Theme.Holo系列)...并且您声明的每个样式属性必须声明两次。

 <style name="CustomTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionMenuTextColor">@color/actionbar_text</item>

        <item name="actionBarStyle">@style/MyActionBar</item>
        <item name="actionMenuTextColor">@color/actionbar_text</item>
    </style>

    <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@color/action_background</item>
        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>

        <item name="background">@color/action_background</item>
         <item name="titleTextStyle">@style/MyActionBarTitleText</item>
    </style>

    <style name="MyActionBarTitleText" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/actionbar_title_color</item>
    </style>

了解更多信息,请访问Styling the Action Bar