android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决
来源:互联网 发布:linux yum命令有什么用 编辑:程序博客网 时间:2024/05/01 15:40
在android5.0中,新增了Material Design设计语言,确实挺炫的,使用Toolbar代替了之前的Actionbar确实灵活很多。
之前我们只能在application或者activity中使用theme主题,但是在android 5.0中可以给View使用theme主题,这个View及其子View都会使用这个theme,给了我们设计一个很大的灵活性。
给View添加theme的方法为:
android:theme="你的theme"
例如:
<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:theme="@style/AppTheme.AppBarOverlay" app:popupTheme="@style/AppTheme.PopupOverlay"/>
上面的代码片段我们就给这个toolbar添加了一个theme,细心的或许看到最后一个属性app:popupTheme,这个属性就是用来自定义我们弹出的菜单的样式,在之前的Actionbar的溢出菜单,我们是不能自定义他的样式的,只能根据你的theme来选择黑白两种,不能自己定义,现在我们可以定义弹出菜单的样式。比如我们的需求:
ActionBar文字是白的,ActionBar Overflow弹出的是白底黑字
默认的情况下我们使用theme为android:Theme.Holo.Light.DarkActionBar那么ActionBar文字是白的,ActionBar Overflow弹出的是黑底白字,但是我们要的是上面的需求白底黑字怎么办呢,这在android5.0以前是没法做到的,现在可以用app:popupTheme这个属性就可以实现,比如我可以将toolbar的app:popupTheme="ThemeOverlay.AppCompat.Light",那么这个Overflow弹出的是白底黑字。
最后一个问题使用android:theme这个属性,在android3.0以上可以应用到View及其子View的,但是在android3.0以下只能应用到当前的View,是不能使子View起作用的,所有要用到该theme的View都要加上,这个切记,当然了android3.0以下的遗留机器已经很少了,如果你不用适配这个版本,你完全可以忽略这个。
- android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决
- android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决
- android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决
- android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决
- android:theme和app:popupTheme的作用
- 解决Android手机修改hosts不起作用的问题
- 【Android】自定义theme解决进入app闪黑屏问题
- 解决Android中相机Camera在2.1以下设置setDisplayOrientation()时报java.lang.NoSuchMethodException的问题
- Android解决okhttpUtils框架无法在4.4.4以下系统访问https协议的问题
- 修改android theme的问题
- Android的Style和Theme
- android中android:layout_marginBottom的不起作用问题
- android.app.IntentReceiverLeaked 问题的解决
- Android-使用Theme来解决启动app是出现的空白屏
- Android-使用Theme来解决启动app是出现的空白屏
- Android-使用Theme来解决启动app是出现的空白屏
- Android-使用Theme来解决启动app是出现的空白屏
- 初次在Android上运行opencv app时,出现的错误,以及解决
- 自定义控件-PickerView
- leetcode之Factorial Trailing Zeroes
- 离圆心最远的整数点(微软笔试题)
- strcpy与memcpy的区别
- 微软等数据结构+算法面试100题全部答案集锦
- android:theme和app:popupTheme的作用,以及在android 3.0以下不起作用问题的解决
- PS混合模式
- C++模板
- JavaScript Array 对象splice() 方法
- TCP与UDP的区别
- getFragmentManager和getChildFragmentManager使用不当导致viewpager不加载fragment
- Keepalived 安装 配置
- java中InputStream中read()与read(byte[] b) 用法介绍
- turnjs4翻书效果