前段时间使用ActionBar 做了一个应用,使用到了support v7 这个包,这个包比原来的support v4 要强大的多,这里就不讲书怎么引用support v7 这个包了 ,进入主题我在ActionBar中要使用一个menu.xml布局文件来展示标题文字,但是menu.xml文件中 没有对文字的属性设置,然后找到,support v7的style文件,在里面发现一个父类style是Theme.AppCompat.Light.DarkActionBar,然后找到这个style的父类是Base.Theme.AppCompat.Light.DarkActionBar
在源文件中是这么显示的,这个源文件的文件名是themes.xml,
然后按住ctrl键,按住鼠标左键,继续找Base.Theme.AppCompat.Light.DarkActionBar的父类是Base.Theme.AppCompat.Light.DarkActionBar
这个xml文件的名字叫themes_base.xml ,这个xml文件中定义了很多style,滚动鼠标往下看,你会发现下面这个style,
就是我图上画出来的那个,这个就是support v7 中menu.xml 文件字体的格式,然后打开
看到没有,这个的父类是Base.TextAppearance.AppCompat.Widget.ActionBar.Menu,毫不犹豫的打开,Base.TextAppearance.AppCompat.Widget.ActionBar.Menu,接下来就是见证奇迹的时刻,看看Base.TextAppearance.AppCompat.Widget.ActionBar.Menu里面是怎么写的,
你会惊奇的发现,这里有了对字体的设置,默认大小是12sp,找到他就好了,下面我们就可以修改我们想要的字体了,注意,我们不是这个文件里面修改,
我把它拿出来是为了让你看一下suooprt v7中的源码是怎么写的,好了回到我们自己项目中的style.xml文件中
我们开始写自己要的样式
我写了一个ActionMenuText,他的父类是,TextAppearance.AppCompat.Widget.ActionBar.Menu,
<style name="ActionMenuText" parent="TextAppearance.AppCompat.Widget.ActionBar.Menu">
<item name="android:textSize">16sp</item>
<item name="android:textStyle">normal</item>
</style>
代码和截图都在上面了,然后我们引用,ActionMenuTest,这个样式就可以了,
这里我为了整个项目中所有的ActionBar中的menu的文字都是我要的那种字体,所以就设置在了,AppThene中,然后我们引用AppTheme这个样式,那么我们整个的项目都会是一样的,你也可以根据你的需要设置不同的Activity,当然这就根据你的需求了,这里我就不再赘述了,
下面我们来引用TppTheme,在Androidmainfirst.xml文件中的,application中设置一下样式
好了,这就完成了,然后运行一下就可以看到效果了。如果有不明白的,可以qq联系我,2192668205,注意要写备注哟