相关疑难解决方法(0)

您需要在此活动中使用Theme.AppCompat主题(或后代)

Android Studio 0.4.5

用于创建自定义对话框的Android文档:http://developer.android.com/guide/topics/ui/dialogs.html

如果需要自定义对话框,则可以将"活动"显示为对话框,而不是使用"对话框API".只需创建一个活动并将其主题设置为<activity>清单元素中的Theme.Holo.Dialog :

<activity android:theme="@android:style/Theme.Holo.Dialog" >
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这个时,我得到以下异常:

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
Run Code Online (Sandbox Code Playgroud)

我支持以下内容,我不能使用大于10的内容:

minSdkVersion 10
targetSdkVersion 19
Run Code Online (Sandbox Code Playgroud)

在我的风格中,我有以下内容:

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
Run Code Online (Sandbox Code Playgroud)

在我的清单中,我有这个活动:

 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:theme="@android:style/Theme.Holo.Light.Dialog"
            android:name="com.ssd.register.Dialog_update"
            android:label="@string/title_activity_dialog_update" >
        </activity>
Run Code Online (Sandbox Code Playgroud)

像我这样创建对话框是我要做的事情,因为我已经完成了布局.

谁能告诉我如何解决这个问题?

android android-layout

949
推荐指数
33
解决办法
77万
查看次数

java.lang.IllegalArgumentException:您需要将Theme.AppCompat主题(或后代)与设计库一起使用

我试图在本教程的帮助下从Material Design实现"带图像的灵活空间":

带有android设计支持库的工具栏动画

但我在布局预览中收到此渲染问题消息:

无法实例化以下类:

- android.support.design.widget.CoordinatorLayout(Open Class,Show Exception,Clear Cache) - android.support.design.widget.AppBarLayout(Open Class,Show Exception,Clear Cache)

我将Theme.AppCompat主题应用到我的应用程序中,但它会在每个其他活动中搞砸操作栏和外观.此外,它会在操作栏方法上引发错误,例如:

actionBar.setDisplayHomeAsUpEnabled(真);

将错误(粗略地)陈述为:

在null对象引用上调用setDisplayHomeAsUpEnabled(boolean)

此外Theme.AppCompat,在整个应用程序中使用预览屏幕会出现以下错误:

找不到以下类: - android.support.v7.internal.app.WindowDecorActionBar(修复构建路径,创建类)

因此,我不想Theme.AppCompat用于整个应用程序.然而,使用Theme.AppCompat了,我想用"与图像弹性空间"的具体活动设计不能解决CoordinatorLayoutAppBarLayout前面提到的问题.

请告诉我该怎么办!我已经在同一个问题上阅读了很多stackoverflow帖子,但它们对我不起作用!我重新启动了android studio并使我的缓存无效并重启了无数次!!

以下是我的依赖项 build.gradle

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile project(':viewPagerIndicator')
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
}
Run Code Online (Sandbox Code Playgroud)

在手机上按原样运行应用程序会出现此错误:

java.lang.IllegalStateException:此Activity已经有一个由窗口装饰提供的操作栏.不要在主题中请求Window.FEATURE_SUPPORT_ACTION_BAR并将windowActionBar设置为false以使用工具栏.

将windowActionBar设置为false,如下所示:

<item name="windowActionBar">false</item>
Run Code Online (Sandbox Code Playgroud)

然后运行该应用程序会抛出此错误:

java.lang.RuntimeException:无法启动活动ComponentInfo {com.seven.actionbar/com.seven.actionbar.EventsDetailActivity}:java.lang.IllegalArgumentException:AppCompat不支持当前主题功能:{windowActionBar:false,windowActionBarOverlay:false ,android:windowIsFloating:false,windowActionModeOverlay:false,windowNoTitle:false}

以下是EventsDetailsActivity.java文件中的工具栏位:

    Toolbar toolbar;
    CollapsingToolbarLayout collapsingToolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_eventsdetail); …
Run Code Online (Sandbox Code Playgroud)

java android android-theme material-design

9
推荐指数
1
解决办法
1万
查看次数