![](/img/trans.png)
[英]Android Activity ClassNotFoundException - tried everything
[英]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'樣式。而不是在布局中創建工具欄並將子視圖添加到工具欄,設置標題並根據需要進行修改。”
仍然沒有運氣。 我將不勝感激任何建議。 謝謝你的時間!
編輯:有人告訴我刪除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.