全屏自定义主题

Posted

技术标签:

【中文标题】全屏自定义主题【英文标题】:Full Screen in customize theme 【发布时间】:2012-04-09 04:40:30 【问题描述】:

我需要我的应用全屏显示。现在我知道如何使用

将此功能添加到 Mainfest 中的应用程序标签中
android:theme=”@android:style/Theme.NoTitleBar.Fullscreen"

但是,我有自己的主题,称为“CodeFont”,我不能在同一个应用程序中使用两个主题。如何将此功能添加到资源文件中自己的样式标签中?没有像 android:style 标签这样的东西。

【问题讨论】:

【参考方案1】:

使用默认主题创建您的自定义主题,像这样

Fullscreen 的窗口

<style name="generalnotitle" parent="general">
    <item name="android:windowFullscreen">true</item>
</style>

NoTitle 的窗口

<style name="generalnotitle" parent="general">
    <item name="android:windowNoTitle">true</item>
</style>

【讨论】:

这不会全屏显示。你需要 true 如果有人想知道,请把这个放在res/values/styles.xml 当我在 windowFullscreen 设置为 false 的情况下执行此操作时,它的作用与我的预期相反。它使我的对话框完全全屏。而没有自定义主题,我的对话框就很大,几乎占据了整个屏幕(包括宽度和高度)。这是为什么呢?【参考方案2】:

使用父属性创建您的自定义主题,以从一般 android 主题继承 NoTitleBar.Fullscreen 属性。

值/样式.xml

<resources> 
   <style name="CodeFont" parent="android:Theme.NoTitleBar.Fullscreen">
      <item name="android:windowNoTitle">true</item> 
      ...
   </style>
</resources>

AndroidManifest.xml

<activity 
    android:name=".MainActivity" 
    android:theme="@style/CodeFont"> 
      ...
</activity>

【讨论】:

【参考方案3】:

在style.xml中添加

<item name="android:windowFullscreen">true</item>

到你的主题。示例:

<style name="CodeFont" parent="android:Theme.Light">
     <item name="android:windowFullscreen">true</item>
</style>

【讨论】:

【参考方案4】:

您可以使用(例如)请求代码中的一些特性和标志:

@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.some_layout);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

【讨论】:

【参考方案5】:

在应用样式中设置主题适用于我的 React Native 应用。只需输入android/app/src/main/res/values/styles.xml

<resources>
    <style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar.Fullscreen"></style>
</resources>

android/app/src/main/AndroidManifest.xml 链接到这个主题:

<application
  ...
  android:theme="@style/AppTheme">

Reference

【讨论】:

以上是关于全屏自定义主题的主要内容,如果未能解决你的问题,请参考以下文章

【Android】自定义全屏dialog

全兼容的全屏自适应布局

全屏 HTML5 视频自定义控制器

h5 宽度全屏自适应

背景图片居中全屏自适应显示

C# WinForm 技巧十: winfrom 全屏自适应屏幕分辨率