質問: ### AppCompatActivityに適応できるthemeはAppCompatだけなのでしょうか? 題目の通り、疑問を抱いています。 私はxmlのデザインエディターを見て、画像で選択されている`Black.NoTitleBar.Fullscreen`がかっこいいなと思いました。 ![](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/2b4503d52bf42466b8f19c31c0622d09.png) なので公式のサイトの、「継承」を参考にしつつ、それをStyles.xmlに記述しました。 ``` ``` しかし、記述の時点でエラーはないのですが、エミュレートするとアプリが止ってしまいました。 以下のように`Theme.AppCompat.DayNight.NoActionBar`のような`appcompat`があるthemeでは普通に動くのですが・・・・ ``` ``` これは`AppCompatActivity`に適応できるthemeは`AppCompat`だけだということなのでしょうか? 私は黒くてアクションバー無しのフルスクリーン画面を使いたかったのですが・・・それは`AppCompat`にありません・・・ `parent=`の部分も`@android:style/`を接頭につけるかつけないか、違いがあるようですし・・・ なにか`Theme.Black.NoTitleBar.Fullscreen`を使う方法はありますかね?
回答: **1. AppCompatActivityで使用できるテーマについて** AppCompat系のテーマではAndroid SDKで定義されているものとは別に、独自のスタイルをいくつか定義しています。AppCompatActivityはこれらのスタイルが定義されている前提で動くので、それらを定義する必要があります。自分でそのようなテーマを用意するのは手間なので、素直にAppCompat系のテーマを使うべきでしょう。 **2. Theme.Black.NoTitleBar.FullscreenをAppCompatActivityでも使用する** 1の理由によりAppCompat系のテーマを使うのはほぼ必須なので、AppCompat系のテーマをベースにしてTheme.Black.NoTitleBar.Fullscreenに近いものを作成するのがよいと思います。 Theme.Black.NoTitleBar.Fullscreenの定義は この辺 に転がっていますので、これをテーマの設定に追加して、あとは背景色等を調整してみてください。 ``` ``` **3. android:の有無について** Android SDKが提供しているリソースについては `android:` を付ける必要があります。AppCompatはサポートライブラリでありSDKに含まれるものではありませんから、 `android:` を付けません。