ビデオの指示ごとにAndroidアプリをフルスクリーンモードで実行できません。実行しようとすると、アプリはエラーでクラッシュします。
"You need to use a Theme.AppCompat theme (or descendant) with this activity
マニフェストファイル
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.djsg38.hikerswatch">
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.INTERNET" />
<application
Android:allowBackup="true"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:supportsRtl="true"
Android:theme="@style/AppTheme">
<activity Android:name=".MainActivity"
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
スタイルファイル
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
役に立つかもしれない部分MainActivity
public class MainActivity extends AppCompatActivity {
アプリケーションにはAppCompatテーマがあります
<application
Android:theme="@style/AppTheme">
ただし、アクティビティ(AppCompatActivityを拡張する)をAppCompatテーマの子孫ではないテーマで上書きしました
<activity Android:name=".MainActivity"
Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen" >
独自のフルスクリーンテーマを次のように定義できます(注意:AppCompat
でparent=
)
<style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="Android:windowNoTitle">true</item>
<item name="Android:windowActionBar">false</item>
<item name="Android:windowFullscreen">true</item>
<item name="Android:windowContentOverlay">@null</item>
</style>
次に、それをアクティビティに設定します。
<activity Android:name=".MainActivity"
Android:theme="@style/AppFullScreenTheme" >
注:すでに全画面表示されているAppCompatテーマがあるかもしれませんが、すぐにはわかりません
AndroidManifest.xmlファイルでAndroid:theme="@style/Theme.AppCompat.Light"
を<application>
に追加すると、問題が解決します。
uはすべてのアクティビティにtheme
を追加する必要があります(urマニフェストで<application>
のすべてのアプリケーションにtheme
を追加する必要があります)
Android:theme="@style/Theme.AppCompat"
またはAppCompat
テーマの各種類!