最近,在我们的生产应用程序之一上,透明的活动停止了工作. 我的意思是,它变成了黑色背景,而不是透明的.当我将活动的背景颜色设置为固体颜色(即红色,绿色等)时,它是没有问题的. 可能是由迁移到Androidx引起的,但我没有证据. 经过数小时的调试,测试和阅读相关主题,我终于能够确定问题的情况. 我的测试环境是一个非常简单的清洁项目,具有两个活动(您可以检查下的完整代码链接). 工作状态的条件 我只有在我的'themes.xml'文件非常简单的情况下才能使第二个活动透明.您可以在后台看到第一个活动: 非工作状态的条件 即使没有内部和没有父母的物品,也足以添加一种简单的样式,以使背景是黑色而不是透明的: 这是我的'themes.xml':
以下是关于 android-theme 的编程技术问答
每当我显示Toast时,应用程序都会崩溃. 如果我使用旧版本的AppCompat库或从样式中删除fontFamily,则该应用程序正常. on Create: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast.makeText(this, "Test", Toast.LENGTH_SHORT).show(); //line 13 } 依赖性: compile 'com.android.support:appcompat-v7:26.1.0' apptheme:
我正在尝试创建 Light 和 Dark 为我的应用程序. 应用光题主题时,现状栏是橙色的,但是一旦我切换到深色主题 statusbar 保持橙色,尽管我希望它是黑色. 我不是主题中的专业人士,因此对任何帮助都非常感谢. 我包含了一些屏幕截图,因此您可以看到我的意思. 预先感谢您. 编辑: 我自己找到了一个解决方案(如果其他人遇到相同的问题),在我的登录时间开始时,我检查了通过sharedPrefs文件应用哪个主题. // which theme is set. SharedPreferences settings = getSharedPreferences(Helper.PREF_NAME, MODE_PRIVATE); Helper.newTheme = settings.getInt("themeCustom", 0); 如果设置了黑色主题,那么我只是用WindowManager修改状态栏: if (H
可能的重复: 如何在Android in Android 我有一个Android应用程序,可以在运行时允许用户在主题之间切换.切换主题很容易,但是没有应用主题 我找到了一种进入 tasksss free 解决方案 我想一个提示: finish();呼叫 setResult(AnIntegerThatNotifiesThePreviousActivitiesToChangeTheme); 现在,在您的所有活动中,实施OnActivityResult protected void onActivityResult(int request, int result, Intent data) { if(result == AnIntegerThatNotifiesThePreviousActivitiesToChangeTheme) { //update the current theme } } 另一个解决方案(
在attrs中我有 然后在主题中 @color/aaa 和代码中 这很棒 tv.setBackgroundResource(R.color.aaa); 但是当我这样做时,它给了我一个错误 tv.setBackgroundResource(R.attr.bzz); 我不明白问题是什么,我的逻辑是我将bzz设置为对颜色的参考,以便可以正常工作,但不能:) 它说android.content.res.Resources$NotFoundException: Resource ID #0x7f010008 但是我不明白找不到哪些资源? 我敢肯定,如果我直接设置了颜色,它会有罪过,它效果很好,没有正确链接的东西 谢
我正在尝试获得一个用户选择的主题,并觉得我很接近.定义AndroidManifest.xml中的主题应尽其所能,但是(我可以说的是)无法根据应用偏好进行更改: 另外,在每个活动中动态设置它也有效: someChosenTheme = PreferenceManager.getDefaultSharedPreferences(this).getString("themePreference", "theme_twilight"); setTheme(someOtherChosenTheme); ,但这似乎很混乱,我宁愿将整个应用程序的主题设置在一个地方.我的第一个想法是在我的主要活动启动并在此处进行申请上下文:
如何以编程方式将TextView的文本颜色设置为?android:textColorPrimary? 我已经尝试了下面的代码,但是它将文本颜色始终设置为textColorPrimary和textColorPrimaryInverse的白色(它们都不是白色,我已经通过XML进行了检查). TypedValue typedValue = new TypedValue(); Resources.Theme theme = getActivity().getTheme(); theme.resolveAttribute(android.R.attr.textColorPrimaryInverse, typedValue, true); int primaryColor = typedValue.data; mTextView.setTextColor(primaryColor); 解决方案 最后,我使用以下代码获取主题的主要文本颜色 - // Get the prima
i m在Delphi下,我使用Android框架来创建编辑.当我将主题设置为 theme.devicedefault.light.noactionbar ,然后我可以在我的EditText中选择一些文本,并且我的弹出窗口带有"选择all/cut/cut/cut/copy/copy/paste/etc",就像您可以一样请参阅下图. 但是,当我选择 theme.material.light.noactionbar 或 theme.holo.light.light.noactionbar 时,我无法选择我的EditText中的任何文本(我没有权利或左文本选择句柄),并且我没有任何复制/粘贴弹出 他们可以在theme_material_light_noactionbar上放置此副本/粘贴弹出窗口吗? theme.devicedefault.light.noactionbar theme_material_light_noactionbar theme.holo.li
API 14中引入的开关小部件默认使用Holo主题进行了样式. 我想设定略有不同的样式,改变其颜色并出于品牌原因而形成一些形状.一个人怎么做?我知道这一定有可能,因为我看到了默认ICS和三星的TouchWiz主题 之间的区别 我假设我需要一些状态的可抽签,并且我在 http:http:http:http:http:http:http:http:http:http:http://developer.android.com/reference/android/r.stylable.html 带有Switch_thumb和Switch_track,看起来像我可能追求的.我只是不知道该怎么使用它们. 我正在使用ActionBarsherlock,如果有所作为.当然,只有运行API V14或更高的设备才能完全使用开关. 解决方案 您可以定义用于背景的可抽取物,而开关部分则可以:
我尝试更改AlertDialog的Background 和 TextColor . 但是我只能通过android:windowTitleStyle 更改标题的颜色 活动: AlertDialog.Builder adb = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDialogCustom)); style.xml style name="AlertDialogCustom" parent="Holo.Theme.Sherlock" 我怎样才能做到这一点?谢谢. 解决方案 adb.setMessage(Html.fromHtml("John:"+"How are you?")) 这是为了更改文本颜色 您可以创建自己的对话框 检查此链接 http://www.helloandroid.co
我目前正在为客户创建一个应用程序.我喜欢带有深色动作栏主题/风格的Holo Light,但这意味着我必须使用API 14及以上.如果我将最小API级别设置为14,则只有大约50%的Android用户将能够获取应用程序,因此我需要将Min API级别设置为9(姜饼). 最后一个问题:是否有任何方法可以在姜饼上使用主题/样式,甚至在价值中放置带有深色动作栏样式的Holo灯? 解决方案 您可以使用 Action Bar sherlock 库有Theme.Sherlock.Light.DarkActionBar(除其他外).使用它,您几乎可以在早期设备上完全模拟API 14 UI.