2013-02-23 2 views
0

Я создаю простое приложение для Android, где я хочу добавить к нему настраиваемую строку заголовка. Однако я столкнулся с проблемой при создании настраиваемой строки заголовка.Настройки Android custom bar заголовка

Вот мой OnCreate метод в GetPhoto классе активность:

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> 

Когда я поставил GetWindow() setFeatureInt (.) после setContentView(), я получил такие ошибки:

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) 
... 

featureelection - это имя приложения и GetPhoto - это класс, который содержит метод OnCreate, показанный выше. Я понятия не имею, почему это дает ошибки. Я видел, как другие люди также пишут такой код, и он отлично работает.

И еще одна вещь, если я положил getWindow(). SetFeatureInt() перед setContentView(), когда я запускаю свое приложение, он не дает ошибок, но ничего не отображается в пользовательской строке заголовка, тогда как я ожидаю изображение и «hello world», которые будут отображаться в пользовательской строке заголовка.

FYI: У меня тоже есть этот 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> 

установить стили.

Кто-нибудь знает, в чем проблема и как его решить? Любые seggestions или решения будут appricated.

ответ

0

Убедитесь, что ваш XML-файл использует ImageView, а не Imageview - имена элементов чувствительны к регистру.

+0

Спасибо, что на самом деле была проблема .... это заставило меня чувствовать себя глупо ..... – user1642888