0

カスタムタイトルバーを追加したいシンプルな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>

スタイルを設定します。

問題とその解決方法を知っている人はいますか?すべてのセグメントまたはソリューションが適用されます。

4

1 に答える 1

0

XMLファイルでImageviewではなくImageViewが使用されていることを確認してください。要素名では大文字と小文字が区別されます。

于 2013-02-24T00:08:05.100 に答える