【发布时间】: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