【问题标题】:App crashes on Nexus 4(4.4.4) due to background image由于背景图片,应用程序在 Nexus 4(4.4.4) 上崩溃
【发布时间】:2017-02-04 14:16:23
【问题描述】:

我已将背景图像设置为根布局。这适用于 nexus 5(5.0.1) 和 nexus 5x(6.0.1)。 但是在 nexus 4(4.4.4) 应用程序崩溃并给出以下错误

android.view.InflateException:二进制 XML 文件第 19 行:错误 膨胀类 在 android.view.LayoutInflater.createView(LayoutInflater.java:620) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 在 android.view.LayoutInflater.rInflate(LayoutInflater.java:755) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:492) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:397) 在 com.mobifilia.monitormymortgage.Fragments.HelpScreenFirstFragment.onCreateView(HelpScreenFirstFragment.java:38) 在 android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 在 android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) 在 android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 在 android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570) 在 android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 在 android.support.v4.view.ViewPager.populate(ViewPager.java:1177) 在 android.support.v4.view.ViewPager.populate(ViewPager.java:1025) 在 android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545) 在 android.view.View.measure(View.java:16497) 在 android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:719) 在 android.widget.RelativeLayout.onMeasure(RelativeLayout.java:455) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 在 android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 在 android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668) 在 android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 在 android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 在 android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 在 android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404) 在 android.widget.LinearLayout.measureVertical(LinearLayout.java:695) 在 android.widget.LinearLayout.onMeasure(LinearLayout.java:588) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在 android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 在 com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291) 在 android.view.View.measure(View.java:16497) 在 android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1912) 在 android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1109) 在 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1291) 在 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)

这是 xml 文件。

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/backgraound">


        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="none">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
       // other view
     </LinearLayout>
        </ScrollView>
    </RelativeLayout>

如果我从 xml 中删除背景图像,这也适用于 nexus 4。 我该如何解决这个问题?提前致谢

【问题讨论】:

  • @drawable/backgraound 包含什么?
  • @piyush 这是背景图片,分辨率为 320*586,大小为 343.69 kb。
  • 你把图片放在了哪个drawable文件夹中?这是 drawable-v21 吗?
  • @preetika kaur 是的,它在 drawable-v21 中
  • 这就是它在 5.0 及更高版本中工作的原因。将图像放入drawable文件夹并立即检查。

标签: android xml nexus-4


【解决方案1】:

您可能已将图像放在 drawable-v21 文件夹中,该文件夹指的是 Api 21 级及以上。这些文件夹特定于 Lolipoppost Lolipop 版本。这就是为什么它在 Kitkat 或更低版本中不起作用的原因。将您的图像放在 drawable 文件夹中,以便所有 api 版本都可以访问它。 乐于助人……

【讨论】:

    【解决方案2】:

    只需将您的图像放在可绘制文件夹中。 drawable -v21 适用于 android 版本>19。因为如果这是在 android 4.4 (api 19) 中,它无法获取图像,它可能会抛出错误

    【讨论】:

      猜你喜欢
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多