Проблемы рендеринга при смене темы
Я новичок в Appdevelopment и пытаюсь изменить тему моего приложения в Android Studio 1.4.1 (последняя) на Windows 10 x64, но я всегда получаю исключения, вот что я делаю: (да, у меня сейчас уже много вопросы, но я не смог найти ответ)
Начать проект (название: TEST)Для телефона и планшета (мин. SDK: API 15 Android 4.0.3 IceCreamSandwich)Выберите Пустое действие (название: MainActivity)Перейдите к Activity_main.xml -> представление дизайнаВыберите Nexus 4; API 23;Holo Light / Holo Dark / Материал Светлый / Материал Темный; (API и телефон не имеют значения => много пробовал)ИСКЛЮЧЕНИЕ:Проблемы с рендерингом
Следующие классы не могут быть созданы:
android.support.design.widget.CoordinatorLayoutandroid.support.design.widget.AppBarLayoutСовет: [...]
Сведения об исключении
java.lang.IllegalArgumentException: вам нужно использовать тему Theme.AppCompat (или потомок) с библиотекой дизайна. на android.support.design.widget.ThemeUtils.checkAppCompatTheme (ThemeUtils.java:34) на android.support.design.widget.CoordinatorLayout. (CoordinatorLayout.java:178) на android.support.design.widget.CoordinatorLayout. .java: 172) в sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) в sun.reflect.DelegatingConstructorAewest.mpest.jpg lang.reflect.Constructor.newInstance (Constructor.java:422) в org.jetbrains.android.uipreview.ViewLoader.createNewInstance (ViewLoader.java:458) в org.jetbrains.android.uipreview.ViewLoader.loadCava: класс просмотра: 170) в org.jetbrains.android.uipreview.ViewLoader.loadView (ViewLoader.java:103) в com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView (LayoutlibCallbackImpl.java:190) в android.view.BridgeInflater (BridgeInflater.java:218) на андро id.view.BridgeInflater.createViewFromTag (BridgeInflater.java:145) на android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704) на android.view.LayoutInflater.inflate (LayoutInflater.java:49ter) на андроиде. .inflate (LayoutInflater.java:394) при com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate (RenderSessionImpl.java:223) при com.android.layoutlib.bridge.Bridge.createSession (Bridge.java:426) в com.android.ide.common.rendering.LayoutLibrary.createSession (LayoutLibrary.java:350) в com.android.tools.idea.rendering.RenderTask $ 2.compute (RenderTask.java:510) в com.android.tools.idea .rendering.RenderTask $ 2.compute (RenderTask.java:498) в com.intellij.openapi.application.impl.ApplicationImpl.runReadAction (ApplicationImpl.java:888) в com.android.tools.idea.rendering.RenderTask.createRenderS ( RenderTask.java:498) на com.android.tools.idea.rendering.RenderTask.access $ 600 (RenderTask.java:72) на com.android.tools.idea.rendering.RenderTask $ 3.call (RenderTask .java: 610) на com.android.tools.idea.rendering.RenderTask $ 3.call (RenderTask.java:607) на com.android.tools.idea.rendering.RenderService.runRenderAction (RenderService.java:366) на com .android.tools.idea.rendering.RenderTask.render (RenderTask.java:607) в .AndroidDesignerEditorPanel $ 6.run (AndroidDesignerEditorPanel.java:480) на com.intellij.util.ui.update.MergingUpdateQueue.execute (MergingUpdateQueue.java:320) на com.intellij.uueueateate Java: 310) на com.intellij.util.ui.update.MergingUpdateQueue $ 2.run (MergingUpdateQueue.java:254) на com.intellij.util.ui.update.MergingUpdateQueue.flush (MergingUpdateQueue.java:9. 26). intellij.util.ui.update.MergingUpdateQueue.flush (MergingUpdateQueue.java:227) в com.intellij.util.ui.update.MergingUpdateQueue.run (MergingUpdateQueue.java:217) в com.intelluru. or.runSafely (QueueProcessor.java:238) на com.intellij.util.Alarm $ Request $ 1.run (Alarm.java:351) на java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) на java.util.concurrent.FutureTask.run (FutureTask.java:266) в java.util.concurrent.ThreadPoolExecutor, .runWorker (ThreadPoolExecutor.java:1142) в java.util.concurrent.ThreadPoolExcecutor : 617) на java.lang.Thread.run (Thread.java:745)
AndroidManifest.xml: (Premade)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.minding.test" >
<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:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity.java: (Premade)
package de.minding.test;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
activity_main.xml: (Premade)
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:fitsSystemWindows="true"
tools:context=".MainActivity">
<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 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_main" />
<android.support.design.widget.FloatingActionButton android:id="@+id/fab"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin"
android:src="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
Что случилось?? Я использую готовые вещи, и это не работает? -_- Не круто.
Пожалуйста помоги! -Minding