Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android预设登录活动-标题/状态栏不会消失。什么都试过了_Java_Android_Titlebar - Fatal编程技术网

Java Android预设登录活动-标题/状态栏不会消失。什么都试过了

Java Android预设登录活动-标题/状态栏不会消失。什么都试过了,java,android,titlebar,Java,Android,Titlebar,在有人将此标记为重复之前,我花了数小时在google和StackOverflow中查找我的问题的答案,但没有找到任何答案 我使用过Android Studio登录活动,但我无法在一个活动(不是整个应用程序)中让标题栏消失。我读过至少10篇关于如何做到这一点的不同文章,其中大多数都说了同样的话,但没有一篇有效。事实上,编辑我的.java类会使我的应用程序崩溃。这与登录活动中涉及的预构建代码有关系吗 我在我的一个java文件中尝试了以下不同顺序的代码块: getWindow().setFlags(W

在有人将此标记为重复之前,我花了数小时在google和StackOverflow中查找我的问题的答案,但没有找到任何答案

我使用过Android Studio登录活动,但我无法在一个活动(不是整个应用程序)中让标题栏消失。我读过至少10篇关于如何做到这一点的不同文章,其中大多数都说了同样的话,但没有一篇有效。事实上,编辑我的.java类会使我的应用程序崩溃。这与登录活动中涉及的预构建代码有关系吗

我在我的一个java文件中尝试了以下不同顺序的代码块:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏,
WindowManager.LayoutParams.FLAG(全屏)

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_全屏, WindowManager.LayoutParams.FLAG(全屏);requestWindowFeature(窗口。功能\u无\u标题)

this.requestWindowFeature(Window.FEATURE\u NO\u TITLE)

我尝试在XML文件中设置NoActionBar主题,并将其添加到清单中(我不想这样做,因为这会覆盖应用程序……我只想让一页(登录)的标题栏消失)

我已经尝试了所有我能在这里和谷歌搜索上找到的东西。还有其他人在使用Studio的登录活动时遇到过这个问题吗

还有,我找到了这个答案-

“您应该在'styles.xml'中使用'NoActionBar'样式。然后创建 在布局中添加工具栏,并将子视图添加到工具栏中,设置标题 并根据您的喜好进行修改。”

    • 这也不起作用。我在这里找到了答案:
还是不走运。如果有任何建议,我将不胜感激。谢谢你抽出时间

编辑:有人告诉我删除ActionBar类:

私有void setupActionBar(){ ActionBar ActionBar=getSupportActionBar(); if(actionBar!=null){ actionBar.setDisplayHomeAsUpEnabled(true); setupActionBar(); }}

还删除了对actionBar的调用。--这也不起作用

我在Stack上找到了这个主题: 这毫无帮助


我也尝试过这个主题,但也没用:

当我们使用登录模板创建活动时,我们会看到类似这样的内容-

public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<Cursor> {....
公共类LoginActivity扩展AppCompatActivity实现LoaderCallbacks{。。。。
现在,我们可以看到我们的活动扩展到了AppCompatActivity。 因此,我们需要创建一个扩展AppCompat主题的自定义样式,并覆盖它以隐藏状态栏

首先,在styles.xml中创建一个自定义样式,如下所示-

<style name="MyNoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
 <activity
            android:name=".LoginActivity"
            android:theme="@style/MyNoActionBarTheme"
            android:label="@string/title_activity_login">
</activity>

真的
假的
真的
@空的
现在,在AndroidManifest.xml中,声明LoginActivity的“主题”属性,如下所示-

<style name="MyNoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
 <activity
            android:name=".LoginActivity"
            android:theme="@style/MyNoActionBarTheme"
            android:label="@string/title_activity_login">
</activity>
,状态栏消失,活动现在全屏显示


请告诉我这是否对您不起作用。我也在Android Studio中创建了一个登录模板作为第一步。

如果您的
LoginActivity
源自
AppCompatActivity
,请使用下面的代码隐藏操作栏

getSupportActionBar().hide();
如果您使用工具栏作为操作栏,请使用

((AppCompatActivity)getActivity()).getSupportActionBar().hide();

对于
AppCompat
,以下解决方案适合我:

styles.xml
中添加没有操作栏的新主题样式,并设置
parent=“theme.AppCompat.NoActionBar”

结果如下:


对不起。是的,样式名称应该是相同的。我错了。现在编辑了答案。如果可以的话,我会拥抱你。你是一个救生员。而且节省了大量的时间!我的天啊……Stackoverflow上花了这么多时间来研究大量与我类似的问题,但没有运气。你跳上去,砰的一声!它开始工作了。谢谢你!@InstaSteve haha。没问题,伙计。谢谢你k答案被接受,以便将来对其他人也有帮助。谢谢!完成!我希望其他人会发现。我担心我会秃顶拔头发。保重,祝你一切顺利!@InstaSteve非常感谢你!别担心,这会发生在我们所有人身上,这就是我们在这里互相帮助的原因。快乐coding!getSupportActionBar().hide();对我不起作用。抱歉,我应该在问题中提到我已经尝试过了。没有使用工具栏。不过,谢谢!