Android:错误膨胀类TextView

时间:2016-03-14 16:28:20

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

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

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

  

java.lang.RuntimeException:无法启动活动ComponentInfo {com.bamm / com.bamm.MainActivity}:android.view.InflateException:二进制XML文件行#12:错误导致类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>

谢谢,

1 个答案:

答案 0 :(得分:0)

  

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

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

您无法将自定义标题与其他标题功能组合使用 嗯,这是因为,默认情况下,操作栏已经设置好,并且它也不允许您使用自定义标题栏。

文档显示&#34;每个活动都包含操作栏&#34;:

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

尝试使用AppCompact主题