2
我在我的主題定義的顏色類似以下內容:設置背景從attrs.xml顏色參考崩潰
attrs.xml
<attr name="defaultTextColor" format="color|reference" />
styles.xml
<style name="BaseLightTheme" parent="@style/Holo.Theme.Light">
<item name="defaultTextColor">@color/primary_text_holo_light</item>
...
</style>
<style name="BaseDarkTheme" parent="@style/Holo.Theme">
<item name="defaultTextColor">@color/primary_text_holo_dark</item>
...
</style>
每當我使用這個文字顏色,只需使用android:textColor="?defaultTextColor"
工作正常。我想用這種顏色作爲視圖背景,但是這會使應用程序崩潰......爲什麼?我該如何解決這個問題?
這只是崩潰:
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="?defaultTextColor" />
編輯:logcat的加入
這裏是我的logcat這個錯誤(第19行是上述meantioned視圖的線):
04-18 11:12:05.654: E/ACRA(8006): android.view.InflateException: Binary XML file line #19: Error inflating class <unknown>
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater._createView(LayoutInflater.java:262)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater.onCreateView(LayoutInflater.java:470)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater.createViewFromTag(LayoutInflater.java:316)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater.rInflate(LayoutInflater.java:604)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:422)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:372)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:367)
04-18 11:12:05.654: E/ACRA(8006): at com.mf.androfit.fragments.WorkoutFragment$CardioViewFragment.onCreateViewHandler(WorkoutFragment.java:865)
04-18 11:12:05.654: E/ACRA(8006): at com.mf.activitylibrary.fragments.BaseFragment.onCreateView(BaseFragment.java:185)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app._HoloFragment.onCreateView(_HoloFragment.java:124)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:928)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1105)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1461)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
04-18 11:12:05.654: E/ACRA(8006): at com.mf.pagermanager.MFragStatePagerAdapter.finishUpdate(MFragStatePagerAdapter.java:170)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.measureVertical(LinearLayout.java:877)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.onMeasure(LinearLayout.java:956)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:452)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.measureVertical(LinearLayout.java:784)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.onMeasure(LinearLayout.java:956)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.widget.MySlidingPaneLayout.onMeasure(MySlidingPaneLayout.java:523)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:639)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.WindowDecorView.onMeasure(WindowDecorView.java:113)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.measureVertical(LinearLayout.java:877)
04-18 11:12:05.654: E/ACRA(8006): at org.holoeverywhere.widget.LinearLayout.onMeasure(LinearLayout.java:956)
04-18 11:12:05.654: E/ACRA(8006): at android.view.View.measure(View.java:15696)
04-18 11:12:05.654: E/ACRA(8006): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4851)
04-18 11:12:05.654: E/ACRA(8006): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
04-18 11:12:05.654: E/ACRA(8006): at com.android.internal.policy.impl
發佈你的logcat然後 –
這樣做......我只是得到一個'InflateException' ... – prom85
在L他們修復了一個問題,你不能使用顏色drawables的屬性引用。你在運行什麼版本?它應該在api 21上工作。不幸的是,您不能在早期版本中使用顏色屬性參考。 – dcow