相关疑难解决方法(0)

java.lang.IllegalArgumentException:AppCompat不支持当前的主题功能

我试图将项目从Eclipse迁移到Android工作室.最后我能够运行它,但在某个时刻我得到了这个例外,我在谷歌中没有发现这个:

04-22 00:08:15.484    9891-9891/hu.illion.kwindoo E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{hu.illion.kwindoo/hu.illion.kwindoo.activity.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2092)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    ...    
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
    at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360)
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)
    at hu.illion.kwindoo.activity.MainActivity.onCreate(MainActivity.java:73)
    at android.app.Activity.performCreate(Activity.java:5047)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2056)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2117)
    ...
Run Code Online (Sandbox Code Playgroud)

73. MainActivity的行是:

setContentView(R.layout.activity_main);
Run Code Online (Sandbox Code Playgroud)

如果可以,请告诉我.

java eclipse android android-studio

107
推荐指数
5
解决办法
6万
查看次数

没有ActionBar的Android Activity

Activities在我的应用程序中有所不同,并且在所有这些应用程序中我都不想要Action Bar.我找不到如何禁用它.我试图找到一个属性来应用它,main_activity.xml但到目前为止我没有找到任何东西.有人可以帮帮我吗?

java android android-actionbar

57
推荐指数
8
解决办法
11万
查看次数

android隐藏特定片段中的工具栏

我有一个问题,我不知道如何解决.你如何隐藏特定片段中的工具栏,我已经在互联网上搜索,我发现的是通信活动和片段将解决它.但它根本不适用于我,这是我的代码:

主要活动:

public class MainActivity extends ActionBarActivity implements like_frag.OnHideToolbar{

....

public void onHidingToolbar(int position){
        Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
        if(toolbar == null){
            getSupportActionBar().hide();
        }else{
            getSupportActionBar().hide();
        }
    }
Run Code Online (Sandbox Code Playgroud)

like_frag.java

public class like_frag extends Fragment {

    OnHideToolbar mCallback;
    Toolbar toolbar;

    public interface OnHideToolbar {
        public void onHidingToolbar(int position);
    }

    public void onAttach(Activity activity){

        try{
            mCallback = (OnHideToolbar) activity;
        }catch(ClassCastException e){
            throw new ClassCastException(activity.toString() + "error implementing");
        }
    }
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        View rootView = inflater.inflate(R.layout.swipefrag, container, false);

        toolbar …
Run Code Online (Sandbox Code Playgroud)

java android toolbar android-fragments

30
推荐指数
7
解决办法
3万
查看次数

此活动已经有一个由窗口装饰提供的操作栏(FEATURE_ACTION_BAR)

此活动已经有一个由窗口装饰提供的操作栏.不要在主题中请求Window.FEATURE_ACTION_BAR并将windowActionBar设置为false以使用工具栏代替

这是我得到的错误,我搜索了解决方案,但我没有找到如何解决它.这是我的代码:

styles.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/myPrimaryColor</item>
    <item name="colorPrimaryDark">@color/myPrimaryDarkColor</item>
    <item name="colorAccent">@color/myAccentColor</item>

    <item name="android:textColorPrimary">@color/myTextPrimaryColor</item>
</style>

<style name="ActionBarPopupThemeOverlay" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionBar">false</item>
</style>

<style name="Toolbartitle" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textColor">@android:color/white</item>
</style>

<style name="ToolbarSubtitle" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
    <item name="android:textColor">#56FFFFFF</item>
</style>
Run Code Online (Sandbox Code Playgroud)

send_comment.xml(我的活动布局)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <android.support.v7.widget.Toolbar
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/my_toolbar"
            android:layout_height="128dp"
            app:popupTheme="@style/ActionBarPopupThemeOverlay"
            android:layout_width="match_parent"
            android:background="?attr/colorPrimary"
            android:paddingLeft="72dp"
            android:paddingBottom="16dp"
            android:gravity="bottom"
            app:titleTextAppearance="@style/Toolbartitle"
            app:subtitleTextAppearance="@style/ToolbarSubtitle"
            app:theme="@style/ThemeOverlay.AppCompat.Light"
            android:title="?????"
            />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

SendComment.java

public class SendComment extends ActionBarActivity {
    private Toolbar toolbar;

    @Override
    protected void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-activity android-toolbar

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

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万
查看次数

AppCompat工具栏未显示

在主题中声明.NoActionBar之后,以及放入toolbar布局中,我toolbar没有显示.我最终得到的正是你在宣布没有动作栏时所期望的 - 没有动作栏.这是布局:

activity_home.xml:

<include
    layout="@layout/app_bar_home"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_home"
    app:menu="@menu/activity_home_drawer"/>
Run Code Online (Sandbox Code Playgroud)

app_bar_home.xml

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay"/>

</android.support.design.widget.AppBarLayout>

<include layout="@layout/content_home"/>
Run Code Online (Sandbox Code Playgroud)

android appbar android-layout android-activity

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

应用工具栏时崩溃

我是Android编程的新手.当我将工具栏应用到我的应用程序时,我遇到了这个问题,当我尝试运行应用程序时它崩溃了.这是代码:

ToolbarActivity.java

package com.example.toolbar;

import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class ToolbarActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_toolbar);

        Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
        if (toolbar != null) {
            setSupportActionBar(toolbar);
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        }
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.toolbar, menu);
        return true;
    }

}

activity_toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <android.support.v7.widget.Toolbar …
Run Code Online (Sandbox Code Playgroud)

java android

7
推荐指数
2
解决办法
2万
查看次数

getSupportActionBar(toolbar)使用Butterknife工具栏抛出空指针异常

我正在使用Butterknife为工具栏注入视图.但该方法getSupportActionBar(toolbar)抛出空指针异常,不幸的是app停止了.可以做些什么来解决这个问题?我使用的是Android 4.2.那么,使用Butterknife和Jellybean有什么问题吗?

主要活动

    public class MainActivity extends AppCompatActivity {

    @BindView(R.id.tool_bar_demo)
    Toolbar toolbar;
    @BindDrawable(R.drawable.backspace)
    Drawable backspace_btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        setSupportActionBar(toolbar);
        toolbar.setTitle("ABC");
    }
}
Run Code Online (Sandbox Code Playgroud)

activity_main

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="58dp"
        android:id="@+id/tool_bar_demo"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:titleTextColor="@color/colorAccent"
        />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

gradle这个

    minSdkVersion 15
    targetSdkVersion 23

    apply plugin: 'com.neenbedankt.android-apt'
    compile 'com.android.support:design:23.4.0'
    compile 'com.jakewharton:butterknife:8.0.1'
    apt 'com.jakewharton:butterknife-compiler:8.0.1'


    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
Run Code Online (Sandbox Code Playgroud)

android butterknife

6
推荐指数
1
解决办法
483
查看次数

此活动已经有一个由窗口装饰提供的操作栏?

我正在Android使用一个应用程序Toolbar,Custom style但当我正在运行该应用程序时,我收到以下错误:

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

Styles.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColor">@color/textColorPrimary</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="android:textColorSecondary">@color/textColorPrimary</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

<style name="MyMaterialTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimary</item>

</style>


<style name="MyEditTextTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Used for the bottom line when not selected / focused -->
    <item name="colorAccent">@color/colorPrimary</item>
    <item name="android:textColor">@color/colorPrimary</item>
    <item name="android:colorBackground">@color/colorBackground</item>
    <item name="android:textStyle">bold</item>
    <item name="android:endColor">@color/colorPrimary</item> …
Run Code Online (Sandbox Code Playgroud)

java android android-theme android-toolbar

4
推荐指数
2
解决办法
2万
查看次数

此活动已经有一个由窗口装饰提供的操作栏?

我正在开发一个Android应用程序在matrial设计.我正在尝试使用工具栏作为我的应用程序的操作栏.但是当运行应用程序我崩溃并获得错误.

Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
Run Code Online (Sandbox Code Playgroud)

我已经通过这些链接,但没有工作 链接 link2

style.xml

<style name="AppTheme" parent="AppTheme.Base" />

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primaryDarker</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>

<color name="primary">#457C50</color>
<color name="primaryDarker">#580C0C</color>
Run Code Online (Sandbox Code Playgroud)

MianActivity.java

public class MainActivity extends ActionBarActivity {

    Toolbar toolbar;
    DrawerLayout mDrawerLayout;
    FrameLayout mainView; …
Run Code Online (Sandbox Code Playgroud)

xml android android-layout material-design android-5.0-lollipop

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

不要请求Window.FEATURE_SUPPORT_ACTION_BAR

我有一个LoginActivityclass(TabActivity),其中包含以下代码以覆盖整个移动屏幕

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        FacebookSdk.sdkInitialize(getApplic
Run Code Online (Sandbox Code Playgroud)

现在,我想使用具有工具栏的Intent转到另一个MainActivityclass(AppCompatActivity)。它的代码是-

@Override
protected void onCreate(Bundle  savedInstanceState) {
     super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

XML-

<android.support.design.widget.AppBarLayout
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        app:contentInsetRight="@dimen/fab_margin"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)

当我不使用Intent打开MainClass时,它工作正常,但是我想打开MainActivityClass时出现错误-

此活动已具有窗口装饰提供的操作栏。请勿在主题中请求Window.FEATURE_SUPPORT_ACTION_BAR并设置windowActionBar为false来使用工具栏。

android

0
推荐指数
1
解决办法
7117
查看次数