重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
1.安卓標題欄不顯示的原因
平涼網站制作公司哪家好,找創新互聯!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設公司等網站項目制作,到程序開發,運營維護。創新互聯自2013年起到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯。
活動是按照教材(Android第一行代碼)上繼承的Activity,但打開主題的styles.xml,會發現
style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"
設定中用到了AppCompat的主題
解決辦法就是讓所有的活動都繼承 AppCompatActivity就行了,如下:
public class 活動 extends AppCompatActivity
2.標題欄無法隱藏原因
在《第一行代碼》上學習做自定義標題欄,需要將系統自帶的標題欄隱藏掉,使用自定義的標題欄,結果發現,requestWindowFeature(Window.FEATURE_NO_TITLE); 這句代碼無效,標題欄無法隱藏
活動的繼承
public class FirstActivity extends AppCompatActivity
因為活動是繼承AppCompatActivity,所以
requestWindowFeature(Window.FEATURE_NO_TITLE);
這句失效了
解決方法有兩種
(1)將AppCompatActivity改為Activity,此時 requestWindowFeature(Window.FEATURE_NO_TITLE);是有效的
(2)在onCreate()方法中加入如下代碼:
if (getSupportActionBar() != null){
getSupportActionBar().hide();
}
這樣就可以隱藏標題欄了
在android中去掉標題欄有三種方法,它們也有各自的特點。
1.在代碼里實現
[java]?view plaincopy
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄
記住:這句代碼要寫在setContentView()前面。
2.在清單文件(manifest.xml)里面實現
[java]?view plaincopy
application?android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
這樣用可以將整個應用設置成無標題欄,如果只需要在一個Activity設置成一個無標題欄的形式,只要把上面的第三行代碼寫到某一個Activity里面就可以了。
3.在style.xml文件里定義
[html]?view plaincopy
?xml?version="1.0"?encoding="UTF-8"??
resources
style?name="notitle"
item?name="android:windowNoTitle"true/item
/style
/resources
然后面manifest.xml中引用就可以了,這種方法稍麻煩了些。
[html]?view plaincopy
application?android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/notitle"
其實可以看得出來,第二種方法和第三種方法實質是一樣的,只不過第二種方法調用的是系統定義好的style.xml文件,而第三種方法則是在自己的應用里定義style.xml,然后再自己再調用,其實道理是一樣的,第三種方法做起來更有成就感。
安卓app中的內置標題欄不同版本差異很大,但無論是2.3以下或4.0以上系統的標題欄,能自定義的屬性都很少。在開發Android應用中,想創建一個漂亮的自定義標題欄,有兩種方法,
第一,使用第三方框架,如SerlockActionbar。
第二,在XML中頭部做一個layout來作為標題欄(實際上就是普通的view)
我使用的是第二種方法,靈活性強些。