カスタムタイトルバーを追加したいシンプルなAndroidアプリを作成しています。ただし、カスタムタイトルバーを作成するときに問題が発生しました。
GetPhotoActivityクラスのOnCreateメソッドは次のとおりです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean titled = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE
setContentView(R.layout.getphoto);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_complex);
initialize();
}
そして私のtitle_complex.xml(カスタムタイトルを定義するため):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:gravity="center_vertical"
android:orientation="horizontal" >
<Imageview
android:src="@drawable/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:text="Hello world!"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#7cfc00" />
</LinearLayout>
setContentView()の後にgetWindow()。setFeatureInt()を配置すると、次のようなエラーが発生しました。
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.featureselection/com.example.featureselection.GetPhoto}: android.view.InflateException: Binary XML file line #16: Error inflating class Imageview
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
at android.app.ActivityThread.access$600(ActivityThread.java:127)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
...
featureselectionはアプリ名であり、GetPhotoは上記のOnCreateメソッドを含むクラスです。なぜエラーが発生するのかわかりません。他の人もこのようなコードを書いているのを見ましたが、うまくいきました。
また、setContentView()の前にgetWindow()。setFeatureInt()を配置すると、アプリを実行してもエラーは発生しませんが、カスタムタイトルバーには何も表示されませんが、画像と「HelloWorld」を期待しています。 "カスタムタイトルバーに表示されます。
参考:res/valuesフォルダーにもcustomer_style.xmlがあります。
<resources>
<style name="CustomWindowTitleBackground">
<item name="android:background">#008000</item>
</style>
<style name="CustomTheme" parent="android:Theme">
<item name="android:windowTitleSize">35dip</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
スタイルを設定します。
問題とその解決方法を知っている人はいますか?すべてのセグメントまたはソリューションが適用されます。