Android: пользовательское приложение Titlebar вылетает - PullRequest
0 голосов
/ 13 февраля 2012

Хорошо, я следую этому примеру создания пользовательской строки заголовка: http://thetransientway.com/?p=100. конечный результат должен выглядеть следующим образом:

строка заголовка http://thetransientway.com/tutorials/android/content/customtitlebar_output.png

Проблемав тот момент, когда я открываю приложение, оно просто падает.Вот что у меня сейчас:

Файл активности:

package u.nav.it;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class UNavitActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.main);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
    }
}

custom_title.xml:

<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:background="#005BAA"
    android:layout_height="50dp">

<Button
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="Button"
android:id="@+id/button1"
android:layout_alignParentRight="true"
android:layout_marginRight="7dp"  >
</Button>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="20dp"
    android:text="Title Content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@android:color/black" />
</RelativeLayout>

custom_style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

     <style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
    </style>

    <style name="CustomTheme" parent="android:Theme">
        <item name="android:windowTitleSize">50dp</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>

</resources>

main.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="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>

Манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="u.nav.it"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".CustomTitlebarActivityActivity" android:theme="@style/CustomTheme" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

Вы не определили действие UNavitActivity в своем манифесте.Замените CustomTitlebarActivityActivity на UNavitActivity и я надеюсь, что оно должно работать.

1 голос
/ 13 февраля 2012

как уже говорилось, вы не определили свою активность, возможно, вы изменили имя приложения вместо того, чтобы следовать примеру, но не изменили

android:name=".CustomTitlebarActivityActivity" 

в файле манифеста

отредактируйте в

android:name=".UNavitActivity"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...