在SDK中介绍setTheme需要在setContentView之前使用,但是在实际使用中发现只有在super.onCreate调用之前调用方可有效,也许是2.2的一个问题。可以参照
http://code.google.com/p/android/issues/detail?id=4394
这一部分内容
其中下边这个人的回答很有参考价值
**************************************
Hey Christian,
if you just need a dynamic (same activity to be either a dialog or a full screen
activity) you could try the following approach.
AndroidManifest.xml
<activity android:name=".ShowSettingsActivity"
...
android:theme="@android:style/Theme.Dialog">
...
ShowSettingsActivity.java
@Override public void setTheme(int resid) {
boolean isFullScreen = ... ; // get from configuration
super.setTheme(isFullScreen ? android.R.style.Theme : resid);
}
Now you just need to define isFullScreen and restart activity. This approach works
with my application (market://search?q=pname:com.bwx.bequick). Hope this helps.
Best Regards,
Sergey
***************************************
上边这个方法中有一个关键的参数就是isFullScreen这个值,这个值需要在onCreate调用之前就设置好方可有效,因为在activity framework中会根据androidmanifest.xml文件的theme是否存在进行第一次设置,而后就没有办法改变了(这应该是一个bug)。
第一次些Android的blog~
分享到:
相关推荐
设置theme的方式实现android主题切换,提供一个实现思路。
android 主题(Theme)实现 setTheme() android2.2
Android夜间模式,通过Theme实现(attrs.xml styles.xml Activity.setTheme()) 效果展示: 如何添加 Gradle添加: 1.在Project的build.gradle中添加仓库地址 allprojects { repositories { ... maven { url ...
在Android应用中添加修改主题功能 原文地址:http://blog.csdn.net/yangzl2008/article/details/22694327
2、设置 Android Support Library 中的 UiMode 来支持日间/夜间模式的切换; 3、通过资源 id 映射,回调自定义 ThemeChangeListener 接口来处理日间/夜间模式的切换。 一、使用 setTheme 方法 我们先来看看...
如下所示,在Activity中使用setTheme setTheme(R.style.MyTheme1); 2.调用API的时机 需要在super.onCreate(savedInstanceState)之前调用setTheme 3.重新设置主题 要重新设置主题,则需要结束Activity,重新启动才...
Android(经典实例).doc 安装了SDK后,直接生成一个Android Project,一句代码不用写,就能跑出一个最简单的HelloWorld例程。... setTheme(android.R.style.Theme_Dark); setContentView(R.layout.main); }
PS1:如果只是将Acticity显示为默认的Dialog, 跳过第一步,只需要在manifest文中增加属性:android:theme="@android:style/Theme.Dialog"或者在程序中增加setTheme(android.R.style.Theme_Dialog). PS2:其他创建...
Android 主题换肤案例代码,通过设置 Android style 配合 setTheme() 方法,快速实现 App 的主题切换效果。
OnCreate中不设Layout this.setTheme(R.style.Theme_Transparent); 以下是Theme_Transparent的定义(注意transparent_bg是一副透明的图片) 3:在屏幕元素中设置句柄 使用Activity.findViewById来取得
React本机分段控制 :anchor: 安装 yarn add rn-segmented-control # or npm i rn-segmented-control :clockwise_vertical_arrows: 依存关系 npm i prop-types ... const [ theme , setTheme ] = React . u
PatternLockJS Web的模式锁定库。 安装 使用以下方法安装库 yarn add @phenax/pattern-lock-js 导入库 import PatternLock from '@phenax/pattern-lock-js' ; 开始吧 const lock = PatternLock ( { ... setTheme ( {
Clone此仓库,然后将Core部分的文件夹覆盖复制到您的PE项目文件夹中,然后进行问题检修工作 我们不建议缺乏Windows系统和WinPE基础知识的使用者进行此工作 此外,您的PE需要添加PECMD支持并完成构建,我们推荐使用...
public class AndroidUtils { public static DisplayMetrics getDisplayMetrics(Context cx) { DisplayMetrics dm = cx.getApplicationContext().getResources().getDisplayMetrics(); return dm; } public ...
Scoops是一个android应用库,主要解决的是多主题实现方案。通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现。 原理分析 主要通过设置主题(存储设置值), 重启activity,通过setTheme方式...
bmap-helper预览主要功能有:setTheme 设置主题setMapInfo 弹框控件setZoomControl 地图缩放控件(含放大、缩小)setZoomInControl 地图放大控件setZoomOutControl 地图缩小控件setFullControl 地图全屏控件...
v 0.2|百度Echarts 2的R接口是由百度公司开发的用于交互式图表的开源... 一个hello world示例如下: echartr( iris , Sepal.Length , Sepal.Width , Species ) % > % setTheme( ' macarons ' ) 最初的recharts包由Ya
维德ERD编辑器ERD生成器SQL DDL发电机代码可视化SQL DDL导入文件相依性 -可观察-Web标准界面 -CSS封装 -... setTheme ( theme : Theme ) : void ; setKeymap ( keymap : Keymap ) : void ; setUser ( user : User ) :
安装yarn add rex-state# ornpm i rex-state 用法考虑以下挂钩,可让您在亮和暗模式之间切换主题const useThemeMode = ( initialTheme = 'light' ) => { const [ theme , setTheme ] = useState ( initialTheme ) ;...
有关如何执行此操作的示例在themes.js中,应该可以轻松进行测试themes.setTheme('#000', '#07C201', '#07C201', '#07C201', '#07C201', '#000', '#000');// replace with your colors :)安装通过Etherpad中的/ ...