【问题标题】:Android: Error Inflating class TextViewAndroid:错误膨胀类 TextView
【发布时间】:2016-03-14 16:28:19
【问题描述】:

我正在开发一个 Android 应用程序,我正在尝试为该应用程序设置一个自定义标题,我需要根据显示的页面动态更改标题。 我收到以下错误,我无法弄清楚问题是什么

如果我从 app_header.xml 中删除 textview,则应用可以正常工作。

java.lang.RuntimeException: Unable to start Activity ComponentInfo{com.bamm/com.bamm.MainActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class TextView

MainActivity.java

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.activity_main);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.app_header);
...

app_header.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#006442"
    android:gravity="center_vertical"
    android:paddingBottom="10dp"
    android:paddingEnd="@dimen/activity_horizontal_margin"
    android:paddingStart="@dimen/activity_horizontal_margin"
    android:paddingTop="10dp">

   <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_centerVertical="true"
    android:text="@string/app_name" />

    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_centerVertical="true"
        android:src="@drawable/bamm_tab" />

    <ImageButton
        android:id="@+id/settings"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:background="@android:color/transparent"
        android:src="@drawable/ic_settings" />

</RelativeLayout>

bammTheme.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="CustomWindowTitleBackground">
        <item name="android:background">#ffffff</item>
    </style>

    <style name="bammTheme" parent="android:Theme">
        <item name="android:windowTitleSize">50dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="android:statusBarColor">@color/colorPrimaryDark</item>
        <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="android:windowActionBar">false</item>
        <item name="vpiTabPageIndicatorStyle">@style/MyTabPageIndicator</item>
    </style>

    <style name="Widget.Button.Toggle" parent="android:Widget">
        <item name="android:background">@drawable/ic_toggle_bg</item>
        <item name="android:disabledAlpha">?android:attr/disabledAlpha</item>
    </style>

    <style name="toggleButton">
        <item name="android:buttonStyleToggle">@style/Widget.Button.Toggle</item>
        <item name="android:textOn"></item>
        <item name="android:textOff"></item>
    </style>

    <style name="MyTabPageIndicator" parent="Widget.TabPageIndicator">
        <item name="android:background">@drawable/custom_tab_indicator</item>
        <item name="android:paddingTop">7dp</item>
        <item name="android:paddingBottom">1dp</item>
    </style>
</resources>

Manifest.xml

<application
        android:allowBackup="true"
        android:configChanges="locale"
        android:icon="@drawable/ic_launcherkat"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/bammTheme" >

<activity
    android:name="com.bamm.MainActivity">
</activity>

谢谢,

【问题讨论】:

  • 我认为 TextView 需要一个 Id
  • 试过还是同样的错误
  • 所以我猜 android:layout_alignParentStart="true" android:layout_centerVertical="true" 是冲突的。你尝试删除 android:layout_alignParentStart="true"
  • 仍然没有运气我删除了 android:layout_alignParentStart="true" 仍然得到同样的错误

标签: java android xml android-theme android-inflate


【解决方案1】:

操作栏包含在所有使用 Theme.Holo 的活动中 主题(或其后代之一),这是默认主题 targetSdkVersion 或 minSdkVersion 属性设置为“11” 或更高。

http://developer.android.com/guide/topics/ui/actionbar.html#Adding

您不能将自定义标题与其他标题功能结合使用 嗯,那是因为,默认情况下操作栏已经设置好了,它也不允许你使用自定义标题栏。

文档显示“每个活动都包含操作栏”:

这样,当应用程序在 Android 3.0 或更高版本上运行时,系统会将全息主题应用于每个 Activity,因此,每个 Activity 都包含操作栏。

尝试使用 AppCompact 主题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2021-04-09
    • 2016-11-12
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多