創(chuàng)建Activity是Android開發(fā)的最簡(jiǎn)單的事情,現(xiàn)在講一些容易忽略的點(diǎn)整理統(tǒng)計(jì)一下。
1.實(shí)現(xiàn)父類的protected開頭的onCreate()
當(dāng)使用extend繼承了Android提供的Activity之后,最先應(yīng)該做的就是重寫父類的onCreate()。但Activity下有兩個(gè)onCreate()方法,一個(gè)是public權(quán)限的一個(gè)protected權(quán)限的,這里需要注意,一定要選擇protected權(quán)限的,不然會(huì)出現(xiàn)Activity頁面顯示不出來的尷尬情況。
2.AndroidManifest中的注冊(cè)
記得在AndroidManifest文件中要添加當(dāng)前創(chuàng)建的這個(gè)Activity,只有在AndroidManifest文件中進(jìn)行了聲明,才能顯示,否則會(huì)出崩潰的。
3.給主Activity添加action
聲明了Action為"android.intent.action.MAIN"和Category為"android.intent.category.LAUNCHER"的Activity會(huì)作為App的入口。當(dāng)然這個(gè)聲明也不是必須的,如果沒有聲明主Activity,這個(gè)App仍然是可以安裝的,只不過沒有入口,通常這種App都是在后臺(tái)運(yùn)行,比如支付服務(wù)。
<activity
android:name=".MainActivity"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
4.關(guān)于隱藏標(biāo)題欄
Android4.0之后加入了ActionBar,到此默認(rèn)創(chuàng)建出來的Activity都會(huì)帶一個(gè)額頭。如何掌控這個(gè)“額頭”的展示與否?在onCreate()方法中的setContentView()方法之前調(diào)用requestWindowFeature()方法。調(diào)用如下:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
}
}
但這里需要說明的是,如果Activity繼承自AppCompatActivity的話,那么這中方法就無效了,需要通過設(shè)置Theme的方法,這個(gè)以后再詳述。