簡體   English   中英

Android預設登錄活動-標題/狀態欄不會消失。 嘗試了一切

[英]Android Preset Login Activity - Title/Status bar will not go away. Have tried everything

在有人將此標記為重復之前,我已經花了幾個小時通過google和StackOverflow尋找我的問題的答案,但沒有找到任何答案。

我已經使用了Android Studio登錄活動,但無法在該活動(而不是整個應用程序)中刪除標題欄。 我已經閱讀了至少10篇有關如何執行此操作的文章,其中大多數都說相同的話,但都無效。 實際上,編輯我的.java類會使我的應用程序崩潰。 與此和登錄活動中涉及的預構建代碼有關系嗎?

我在我的一個Java文件中以不同順序嘗試了以下代碼塊:

getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

this.getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); requestWindowFeature(Window.FEATURE_NO_TITLE);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

我嘗試在XML文件中設置NoActionBar主題,以及將其添加到Manifest中(我不想這樣做,因為它覆蓋了應用程序……我只想要一頁(登錄)的標題欄)走開。

我已經嘗試了所有可以在這里和Google搜索中找到的內容。 在Studio中使用“登錄活動”時,還有其他人遇到過此問題嗎?

另外,我找到了這個答案-

“您應該在'styles.xml'中使用'NoActionBar'樣式。而不是在布局中創建工具欄並將子視圖添加到工具欄,設置標題並根據需要進行修改。”

    • 這也不起作用。 我在這里找到答案: StackOverflow

仍然沒有運氣。 我將不勝感激任何建議。 謝謝你的時間!

編輯:有人告訴我刪除ActionBar類:

私人void setupActionBar(){ActionBar actionBar = getSupportActionBar(); 如果(actionBar!= null){actionBar.setDisplayHomeAsUpEnabled(true); setupActionBar(); }}

還刪除了對actionBar的調用。 -這也不起作用。

我在Stack: Android Theme.TitleBar上找不到此主題。這根本沒有幫助。

我也嘗試了這個主題,該主題也沒有用: 如何使用現有的自定義主題隱藏XML中的活動標題欄

當我們使用登錄模板創建活動時,我們會看到類似以下內容的信息-

public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<Cursor> {....

現在,我們可以看到我們的Activity擴展了AppCompatActivity 因此,我們需要創建一個擴展AppCompat Theme的自定義樣式,並將其覆蓋以隱藏狀態欄。

首先,在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>

現在,在AndroidManifest.xml中,為LoginActivity聲明“ theme”屬性,如下所示:

 <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 ,以下解決方案對我AppCompat

styles.xml添加沒有動作欄的新主題樣式,並設置parent="Theme.AppCompat.NoActionBar"

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimary</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@color/colorPrimary</item>

</style>


現在,在androidManifest.xml實現與初始屏幕活動相同的主題樣式

<activity
        android:name=".ActivityName"
        android:theme="@style/SplashTheme"> // apply splash them here 

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

結果如下:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM