方法一:每個Activity都有一個onCreate方法,如下
10年積累的成都網(wǎng)站制作、成都網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有獲嘉免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.history);}
在其中加入一下代碼即可去除標題欄
public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄,一定要在setContentView之前setContentView(R.layout.history);}
方法2:在manifest.xml中配置
application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" !--NoTitleBar就是沒有標題欄 --
除了沒有標題欄以外,開發(fā)者還可以自定義標題欄,讓應用更加美觀
安卓app中的內(nèi)置標題欄不同版本差異很大,但無論是2.3以下或4.0以上系統(tǒng)的標題欄,能自定義的屬性都很少。在開發(fā)Android應用中,想創(chuàng)建一個漂亮的自定義標題欄,有兩種方法,
第一,使用第三方框架,如SerlockActionbar。
第二,在XML中頭部做一個layout來作為標題欄(實際上就是普通的view)
我使用的是第二種方法,靈活性強些。
在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"
其實可以看得出來,第二種方法和第三種方法實質(zhì)是一樣的,只不過第二種方法調(diào)用的是系統(tǒng)定義好的style.xml文件,而第三種方法則是在自己的應用里定義style.xml,然后再自己再調(diào)用,其實道理是一樣的,第三種方法做起來更有成就感。
1.安卓標題欄不顯示的原因
活動是按照教材(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();
}
這樣就可以隱藏標題欄了
方法一、在你的那張Activity中onCreate方法中加上下面代碼:
?
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main); //軟件activity的布局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar); //titlebar為自己標題欄的布局
但是新的問題又來了,這樣是無法深層的定制標題欄的,比如原有的高度和背景都沒有發(fā)生變化,那有沒有好的方法呢?答案是有的、
方法二:
因此先定義一個style,若修改背景請修改android:windowTitleBackgroundStyle
若修改標題欄高度,請修改android:windowTitleSize
例子:
?
?xml version="1.0" encoding="utf-8"?
resources xmlns:android="schemas.android.com/apk/res/android"
style name="CustomWindowTitleBackground"
item name="android:background"#565656/item
/style
style name="test" parent="android:Theme"
item name="android:windowTitleSize"50dp/item
item name="android:windowTitleBackgroundStyle"@style/CustomWindowTitleBackground/item
/style
/resources
在程序的android_manifest.xml中對應activity中添加屬性android:theme = "@style/test" 就可以了
?
?xml version="1.0" encoding="utf-8"?
manifest xmlns:android="schemas.android.com/apk/res/android"
package="com.guardian"
android:versionCode="1"
android:versionName="1.0"
application android:icon="@drawable/icon" android:label="@string/app_name"
activity android:name=".Test"
android:label="@string/app_name"
android:theme = "@style/test" //就在這里
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
/application
uses-sdk android:minSdkVersion="4" /
/manifest
不管是繼承AppCompatActivity還是Activity都適用:
在style.xml定義
在AndroidManifest.xml里面設置下theme屬性:
1.在style.xml定義
2.在AndroidManifest.xml里面設置下theme屬性