1.安卓標題欄不顯示的原因
平?jīng)鼍W(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
活動是按照教材(Android第一行代碼)上繼承的Activity,但打開主題的styles.xml,會發(fā)現(xiàn)
style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"
設定中用到了AppCompat的主題
解決辦法就是讓所有的活動都繼承 AppCompatActivity就行了,如下:
public class 活動 extends AppCompatActivity
2.標題欄無法隱藏原因
在《第一行代碼》上學習做自定義標題欄,需要將系統(tǒng)自帶的標題欄隱藏掉,使用自定義的標題欄,結果發(fā)現(xiàn),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.在代碼里實現(xiàn)
[java]?view plaincopy
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄
記住:這句代碼要寫在setContentView()前面。
2.在清單文件(manifest.xml)里面實現(xiàn)
[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"
其實可以看得出來,第二種方法和第三種方法實質是一樣的,只不過第二種方法調(diào)用的是系統(tǒng)定義好的style.xml文件,而第三種方法則是在自己的應用里定義style.xml,然后再自己再調(diào)用,其實道理是一樣的,第三種方法做起來更有成就感。
安卓app中的內(nèi)置標題欄不同版本差異很大,但無論是2.3以下或4.0以上系統(tǒng)的標題欄,能自定義的屬性都很少。在開發(fā)Android應用中,想創(chuàng)建一個漂亮的自定義標題欄,有兩種方法,
第一,使用第三方框架,如SerlockActionbar。
第二,在XML中頭部做一個layout來作為標題欄(實際上就是普通的view)
我使用的是第二種方法,靈活性強些。