Android setTheme无效的问题 (轉自:http://endf.javaeye.com/blog/771685)

利用Theme自定义Activity间的切换动画 立即下载
在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应用动态修改主题的方法示例 1.使用API设置主题 如下所示,在Activity中使用setTheme setTheme(R.style.MyTheme1); 2.调用API的时机 需要在super.onCreate(savedInstanceState)之前调用setTheme 3.重新设置主题 要重新设置主题,则需要结束Activity,重新启动才可以 public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) 立即下载

相关推荐

手把手教学|用飞书+扣子工作流实现自动化批量图片生成,效率提升99%!体验完整操作流程

在先前的文章中,我们已经深入探讨了扣子智能体的多种应用场景,以及如何创建和使用工作流进行高效管理。本文将引领大家通过一个具体案例,将扣子的工作流功能嵌入飞书应用中,实现操作的自动化与高效化。

weixin_66485800的博客 6028

android中setTheme中的一个问题

在android程序设计中我们可以更换主题(Theme),有两种方法,一种是在主程序中使用setTheme()函数,传入相应的参数,另一种是在AndroidManifest.xml中直接指定,这里主要讲第一种方法,也是最常用的。 一般来说,对程序外观属性操作的函数都会

精益求精 1712

数据增强综述及albumentations代码使用

数据增强综述及albumentations使用基于基本图形处理的数据增强 本文涉及到的资料: 1.A survey on Image Data Augmentation for Deep Learning 2.Albumentations: Fast and Flexible Image Augmentations 3.Code 基于基本图形处理的数据增强 1.翻转;2.旋转;3.仿射变换;4.色彩空间(RGB、YUV、CMY、HSV,在图像情感分析中会影响标签。最简单的方法就是只改变一个通道。对比度、直方

qq_41917697的博客 6680

安卓中setTheme失效

setTheme();   必须放在 setContentView(R.layout.activity_main); 的前面, 但是之后又想修改主题怎么办呢? 比如想在一个按键中执行setTheme(); 这个时候只需要执行完 setTheme(R.style.theme); 之后再执行一便 recreate(); 就可以了,不过会存在屏幕闪烁的问题

qq_30555429的博客 3228

Benchmark系列——基本概念和分类

本文主要介绍了Benchmark的基本概念和分类情况。

Bluetangos的博客 8438

VIPER22A实战:从零搭建15W非隔离电源,附BUCK电路调试心得

本文详细介绍了使用VIPER22A芯片从零搭建15W非隔离电源的全流程,重点解析BUCK电路设计与调试技巧。通过核心参数计算、PCB布局优化和效率提升方案,帮助工程师快速掌握DC-DC电源设计要点,实现高效稳定的电源转换。

redis7keeper的博客 669

Android setTheme设置透明主题无效

【问题现象】 1、首先,你在AndroidManifest.xml中声明一个activity,不给application或者activity设置android:theme, 例如这样: <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon=

逍遥阁 7290

从生成到检测:全面解析Deepfake技术的演进与对抗策略

本文全面解析了Deepfake技术的演进与对抗策略,从GAN生成技术到先进的检测手段,探讨了其在娱乐与安全领域的双重影响。文章详细介绍了Deepfake的核心原理、技术迭代关键节点以及最新的检测方法,揭示了AI生成与识别的激烈博弈。同时,展望了量子计算和生物特征认证在未来攻防战中的潜在应用。

jenkins8butler的博客 255

android settheme不起作用,关于android:setTheme不更改主题颜色

我知道这个问题被问过几次。 但我无法找到问题所在。我想更改应用程序的主题,但我的colorPrimary,colorAccent等未更改。我的MainActivity扩展了BasicActivity。 它看起来像这样:public class MainActivity extends BasicActivity {public static String MY_PREFS ="MY_PREFS";...

weixin_35943736的博客 1138

python机器人编程——用python实现一个写字机器人

本篇我们构建一个可以跟人一样写字的机器人python软件。实现如下功能:打开一个写字板,人类在屏幕上写或画出任意形状,机器人同步在纸面上画出和人类一样的形状,就好像人类在远程操控机械臂,又或是机械臂是人的另一只手。这个软件是可以扩展的,如果连上互联网,可以实现人在北京写了一行字,在上海的机器臂同时也在自己的本子上写了一行字。

JAMES费的空间 7994

【时时三省】tessy 进入调试模式 教程

山不在高,有仙则名。水不在深,有龙则灵。----优快云 时时三省。

时时三省的博客 771

android settheme不起作用,Android那些疑惑(1)-Application中setTheme为什么不生效

Application中setTheme为什么不生效Android开发者们都知道在AndroidManifest.xml中可以通过Application的theme标签来设置全局的theme,后续的Activity都可以继承这个主题。不过在自定义Application中通过代码动态去setTheme是不会生效的。为什么不会生效呢,我们可以通过以下来解决这个问题。Activity是怎么继承到Appl...

weixin_33513218的博客 2122

保姆级教程解决Edge Copilot该服务在你所在的地区不可用及Sign in to continue your chat.——电脑篇

相信很多人更新到Win11之后都注意到自带的浏览器右上角多了一个Copilot,这个副驾驶是微软与OpenAI合作,免费使用,包括插件功能。相当于你可以在电脑上免费的使用GPT4。很可惜,点开提示该服务在你所在的地区不可用。很多人第一时间想到科学的上网应该就可以解决了,尝试后又提示you’ve reached the conversation limit for today.Sign in to continue your chat.明明登录账号了为什么还是不能用?不是免费吗,为什么提示今天受限制。 其实上

weixin_44887342的博客 5万+

SetTheme不起作用的启示

使用第三方控件(如Syncfusion.Theming.Office2007Blue)对程序进行主题的设置,发现自对其自己派生的类(如:MyTreeViewItem,继承自TreeViewItem)设置主题后不起作用,查看Syncfusion源代码中的MSControls.xaml,找到TreeViewItem的样式设定,在自己的项目中对MyTreeViewItem添加同样的Them...

a963044302的博客 789

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Android那些疑惑(1)-Application中setTheme为什么不生效

Application中setTheme为什么不生效 Android开发者们都知道在AndroidManifest.xml中可以通过Application的theme标签来设置全局的theme,后续的Activity都可以继承这个主题。不过在自定义Application中通过代码动态去setTheme是不会生效的。为什么不会生效呢,我们可以通过以下来解决这个问题。 Activity是怎...

hjq842382134的专栏 1884

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android 隐式启动匹配原则

1、Intent中只能包含一个Action,可以包含多个Category; 2、清单文件中一个Activity可配置多个IntentFilter, 一个IntentFilter可包含多个Action,多个Category,但是只能包含一个data; 3、Intent若含有Action,IntentFilter中包含多个Action,只要Intent中的Action与IntentFilter中的

Henry_Alpha的博客 1756

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android settheme不起作用,Android设置theme中可能遇到的坑

发现坑最近在配置项目主题的时候报了如下错误:This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR原因一错误写法:falsetruetrue@android:color/transparent其中AppTheme使用的...

weixin_42284380的博客 1148

android settheme不起作用,android-主题,样式和别名嵌套不起作用

我正在尝试测试制作主题的方法,但是我使用的方法并没有给我预期的结果.这是我的设置:绘制/ dummy.xmlandroid:src="@drawable/icon" />值/ mythemes.xml@style/imgOrange@style/imgBlue@drawable/orange@drawable/bluelayuot / main.xml中android:layout_widt...

weixin_39836530的博客 289

Android 中主题已经设置,但是在某些Activity 中无效

问题:Android 中主题已经设置,但是在某些Activity 中无效 解决:参考引用的博客,在listview 中listView.setAdapter(adapter); 中再次设置       主题:getApplication().setTheme(R.style.myAppTheme); 然后主题就生效了,经过分析这个问题主要出现在用 Thread 操作的view 中。 先

老张的专栏 7733

android中setTheme 放置位置要注意

在android程序设计中我们可以更换主题(Theme),有两种方法,一种是在主程序中使用setTheme()函数,传入相应的参数,另一种是在AndroidManifest.xml中直接指定,这里主要讲第一种方法,也是最常用的。一般来说,对程序外观属性操作的函数都会在onCrea

tianjin1986lin的专栏 1万+

android:theme 与 setTheme()设置透明效果并不同

android:theme与setTheme在设置透明主题时效果不同, 若想动态设置透明主题,需要使用AndroidMainfest与重写setTheme相结合的方式。

wangym1989的专栏 1万+

Android中设置theme无效

android:theme="@style/MyStyle" &lt;style name="MyStyle" parent="Theme.AppCompat.Light.NoActionBar"&gt; &lt;item name="android:windowBackground"&gt;@color/voice_transparent&lt;/item&

蓝枫 4541
上一篇: The import android provider.ContactsContract cannot be resolved
下一篇: Android高手进阶教程(四)之----Android 中自定义属性(attr.xml,TypedArray)的使用!
mywebstudy
博客等级 码龄15年 30粉丝 0原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值