2016-05-27 20 views
4

マテリアルデザインを使用するように既存のアプリを変更したいとしました。私はこのような解像度/値/のstyles.xmlを左:マテリアルデザインに切り替えるときの属性エラー

<resources> 
<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.DayNight"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 
</resources> 

私はRES /値-V21 /のstyles.xmlを定義し、そこにマテリアルデザインのテーマを置く:今すぐ

<resources> 
<!-- Base application theme. --> 
<style name="AppTheme" parent="android:Theme.Material"> 
    <!-- Customize your theme here. --> 
    <item name="android:colorPrimary">@color/colorPrimary</item> 
    <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="android:colorAccent">@color/colorAccent</item> 
</style> 
</resources> 

、 Lollipop +のデバイスでプレビューやランニングをしようとすると、デザインが乱れてしまいます(テキストボックスのテキストは表示されません)。また、デザインのプレビューで、このエラーを与える:私のGradleファイルで

java.lang.NumberFormatException: Attribute '?attr/colorAccent' not found. Are you using the right theme? 
at com.android.layoutlib.bridge.impl.ResourceHelper.getColor(ResourceHelper.java:76) 
at android.content.res.BridgeTypedArray.getColorStateList(BridgeTypedArray.java:372) 
at android.widget.TextView.<init>(TextView.java:750) 
at android.widget.TextView.<init>(TextView.java:671) 
at android.widget.TextView.<init>(TextView.java:667) 
at sun.reflect.GeneratedConstructorAccessor115.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:107) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:694) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:762) 
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:149) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:835) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:811) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:394) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:229) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:520) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:508) 
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:967) 
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:508) 
at com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:75) 
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:620) 
at com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:617) 
at com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:371) 
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:617) 
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:639) 
at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$7.run(AndroidDesignerEditorPanel.java:519) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327) 
at com.intellij.util.ui.update.MergingUpdateQueue$3.run(MergingUpdateQueue.java:271) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:286) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:244) 
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:234) 
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 
at com.intellij.util.Alarm$Request$1.run(Alarm.java:352) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 

、私が使用しています:

minSdkVersion 15 
targetSdkVersion 23 

と::

compileSdkVersion 23 
buildToolsVersion "23.0.3" 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:23.4.0' 
} 

Screenshot of issue

私は何かをするのを忘れましたか、何かを考慮に入れるのを忘れましたか?ありがとう。あなたはサポートライブラリを使用していない場合

答えて

-1

、あなたはandroidとそれらの属性の前に付ける必要があります?

<resources> 
<!-- Base application theme. --> 
<style name="AppTheme" parent="android:Theme.Material"> 
    <!-- Customize your theme here. --> 
    <item name="android:colorPrimary">@color/colorPrimary</item> 
    <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="android:colorAccent">@color/colorAccent</item> 
</style> 
</resources> 
+0

私はサポートライブラリを使用していると思います。私は今2 styles.xmlを持っています。 1つはディレクトリ 'values'に、もう1つはディレクトリ 'values-v21'にあります。 v21にはアンドロイドプレフィクスの素材デザインのテーマがありますが、私はまだ非常に似たエラーがあります。 (例:レンダリング中に例外が発生しました:属性 '?attr/colorAccent'が見つかりません。)適切なテーマを使用していますか? – Bob

+0

サポートライブラリを使用する場合は、v21のスタイルをカスタマイズする必要がある場合のみv21スタイルが必要です。そうしないと、サポートライブラリを対象とする単一のstyles.xmlで十分です。 – Egor

+0

私は下位互換性が必要な場合は、2つのstyles.xmlが必要です。https://developer.android.com/training/material/compatibility.html#Theme – Bob

0

はそれがあなたの代わりに@色のレイアウトのいずれかの色/ accentColor使用していることだろう/アクセントの色 ?

+0

「accentColor」のインスタンスのすべてのレイアウトファイルを検索しましたが、何も見つかりませんでした – Bob

0

私は同じエラーがありました。レイアウト属性から次の行を削除すると、それを解決:

android:theme="@style/AppTheme" 

(それを削除)

エラーが消えました。

関連する問題