2014-05-21 15 views
3

我在舊版本的Eclipse中創建了一些應用程序。這樣做時,我會輸入:在Android Manifest崩潰應用程序中更改主題 - 簡單的解決方案?

機器人:主題=「@安卓風格/ Theme.Black.NoTitleBar.Fullscreen」

在manifest文件中,這始終沒有改變應用程序主題問題。最近,我開始使用新穎的Java-ADT Eclipse程序,並且當我將上述語句輸入到清單文件中時,應用程序崩潰。我的意思是,當我插入一個設備來測試應用程序(無論是我的Galaxy II,Galaxy 4還是Galaxy Tab 3 10.1),應用程序安裝正確(Eclipse沒有錯誤並聲稱一切都成功),但是該應用程序加載一個空的黑色屏幕,然後不久之後崩潰的消息「不幸的是,(應用程序)已停止」。我錯過了什麼嗎?

這裏有一些事情需要注意:

  • 生成的應用程序是黑色的,沒有標題或通知欄(碰撞前),當我更改主題短語同樣的事情,減,說「全屏「,它會正確顯示帶有通知欄但沒有標題欄的黑色屏幕(在崩潰之前)。對我而言,這表明我今天所輸入的這句話在今天的標準中依然是正確的,也許所需要的改變/修改在別處。

  • 如果我開始一個新項目並運行它,「Hello World」應用程序將在我的所有設備上正確顯示,但是如果我在清單中更改默認主題(android:theme =「@ style/AppTheme」)文件到任何其他主題,該應用程序崩潰(「不幸的是,應用程序已停止」)。

  • 我試圖通過進入不同的路線重寫此:我進入一系列語句在RES值的樣式文件(手動應用「NoTitle」和「全屏」屬性的物品),但這隻適用於我的Galaxy 4和Tab 3 10.1(我的Galaxy II仍顯示標題)。另外該應用程序是白色的,不是黑色的。

在這一點上的任何建議將是一個很大的幫助!謝謝

+3

請張貼logcat的。如果沒有它,崩潰相當困難。 – N8sBug

+0

我也有同樣的問題。 Logcat說:「你需要使用Theme.AppCompat主題或者後代進行這個活動」 - 在使用Appcompat主題並使用它之後,它是否也適用於你? – user3699861

回答

0

謝謝大家。最後爲我工作的地方是:

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

在JAVA中的onCreate方法。

5

不幸的是,這已經打破了最近(至少在Intellij)。選擇其中一個NoTitle主題會在應用程序運行時崩潰,因爲主題需要是AppCompat的後代(至少對於較低的最低SDK版本),但目前似乎沒有隱藏標題欄。

下面是隱藏在這兩個正在運行的應用程序的標題欄,以及在佈局預覽工作FIX:

1)在AndroidManifest.xml設置你的主題回「AppTheme」:

android:theme="@style/AppTheme" 

2)加入(以NAME = 「AppTheme」)更新在res /價值/ styles.xml的主題風格:

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

我相信你也可以做到這一點用:如果 '機器人windowFullscreen'你也是 想要隱藏操作欄。

當您運行應用程序(模擬器或設備)時,上述兩個步驟將工作,但佈局仍將顯示標題欄。您可以通過轉到佈局(比如activity_main.xml)然後單擊預覽上方的主題(AppTheme)並將其更改爲Light.NoTitleBar之類的東西來隱藏該佈局以處理佈局。不幸的是,預覽會忽略styles.xml中的主題更改,但希望能夠修復。


更新2015年6月8日:這說明不再與Android工作室1.2.1.1工作,雖然有一個簡單的解決方法(應該擺在首位工作過):

你現在可以設置安卓主題在AndroidManifest.xml:

android:theme="@style/Theme.AppCompat.Light.NoActionBar" 

我不知道是哪的其他變動,仍然需要,因爲我沒有回滾他們對我的項目。

奇怪的是我找不到Theme.AppCompat.Black ...在我的系統上,也找不到Theme.Black ....作爲OP請求。

2

你的活動擴展了ActionBarActivity,所以它期望一個ActionBar。解決方案是擴展FragmentActivity

例子:

public class ActivityName extends ActionBarActivity { ... } 

public class ActivityName extends FragmentActivity { ... } 

AndroidManifest.xml中

android:theme="@android:style/Theme.Material.Light.NoActionBar 
相關問題