- 问题:
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this
由上面可知,需要使用一个 Theme.AppCompat theme 相关的 主题。
- 起因
新建一个Activity,准备给其设置全屏,出现此问题。
<activity
android:name=".CameraActivity"
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"/>
- 原因
我的Activity 继承自AppCompatActivity。Android 5.0之后,用AppCompatActivity来替代ActionBarActivity。故继承AppCompatActivity或ActionBarActivity的Activity需要使用Theme.AppCompat的相关主题。
public class CameraActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
}
}
- 方法
1、将AppCompatActivity改为Activity
2、自定义theme,供Activity使用
<style name="NoActionBarFullScreen" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowFullscreen">true</item>
</style>