Замена страндартной темы, которая с черным заголовком

Интерфейс, диалоги, темы, стили, меню
Ответить
Mini
Сообщения: 8
Зарегистрирован: 03 сен 2014, 16:23

Замена страндартной темы, которая с черным заголовком

Сообщение Mini » 03 сен 2014, 16:36

Здравствуйте! Я хотела поменять тему , что в последствии и сделала , но немного не таким образом как я ранее хотела. В итоге остался вопрос , почему у меня не меняется тема так, как она должна меняться ?

Вот варианты которые я пробовала применить, для того что бы поменять тему в программе :

1.Вариант "Вставляем ручками" . Открываем файл - Manifest
И в данном случаи вместо "AppTheme" в этой строке - "android:theme="@style/AppTheme" >" вставляем другую тему . Например: "Theme.NoTitleBar.FullScreen" . Это будет выглядеть так - "android:theme="@style/Theme.NoTitleBar.FullScreen" > .
Вот код оригинала :

Код: Выделить всё

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:theme="@style/[color=#8000FF]AppTheme[/color]" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
Меняем строку:

Вариант 1.1
"android:theme="@style/Theme.NoTitleBar.FullScreen"

выдает ошибку - Description Resource Path Location Typeerror: Error: No resource found that matches the given name (at 'theme' with value '@style/Theme.NoTitleBar.FullScreen'). AndroidManifest.xml /Progect20 line 11 Android AAPT Problem
Вариант 1.2
"android:theme="@android:style/Theme.NoTitleBar.FullScreen"
выдает ошибку - Description Resource Path Location Typeerror: Error: No resource found that matches the given name (at 'theme' with value '@android:style/Theme.NoTitleBar.FullScreen'). AndroidManifest.xml /Progect20 line 11 Android AAPT Problem
Как я поняла , ошибка связанна с тем что компилятор не находит в ресурсах данную тему.


Или можно сделать тоже самое , но только с помощь таблицы, в дальнейшем избежав ошибок :

https://www.youtube.com/watch?v=q3uqbcxKb0o


После того как я якобы установила новую тему , пробую ее запускать на эмуляторе , и при запуске программы она вылетает с ошибкой " приложение остановлено" .

А вот лог Errors "виртуальной машины" в Eclipse:
  • 09-03 13:03:39.245: E/Trace(786): error opening trace file: No such file or directory (2)
    09-03 13:03:39.595: E/AndroidRuntime(786): FATAL EXCEPTION: main
    09-03 13:03:39.595: E/AndroidRuntime(786): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.progect20/com.example.progect20.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.ActivityThread.access$600(ActivityThread.java:141)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.os.Handler.dispatchMessage(Handler.java:99)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.os.Looper.loop(Looper.java:137)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.ActivityThread.main(ActivityThread.java:5041)
    09-03 13:03:39.595: E/AndroidRuntime(786): at java.lang.reflect.Method.invokeNative(Native Method)
    09-03 13:03:39.595: E/AndroidRuntime(786): at java.lang.reflect.Method.invoke(Method.java:511)
    09-03 13:03:39.595: E/AndroidRuntime(786): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    09-03 13:03:39.595: E/AndroidRuntime(786): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    09-03 13:03:39.595: E/AndroidRuntime(786): at dalvik.system.NativeStart.main(Native Method)
    09-03 13:03:39.595: E/AndroidRuntime(786): Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:110)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99)
    09-03 13:03:39.595: E/AndroidRuntime(786): at com.example.progect20.MainActivity.onCreate(MainActivity.java:14)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.Activity.performCreate(Activity.java:5104)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    09-03 13:03:39.595: E/AndroidRuntime(786): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    09-03 13:03:39.595: E/AndroidRuntime(786): ... 11 more



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

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.


Так вот , почему у меня выскакивает эта ошибка ? Почему именно с взаимодействием AppCompat я должен использовать темы? Почему нельзя их просто поставить , стандартным образом?

-----------------------------
А вот как я решила ошибку

Заходим в папку со стилями , находим AppTheme и изменяем его свойства :

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>

<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
Таким образом можно наследовать другие темы и стили, и влиять на их качество.


Спасибо.

Mini
Сообщения: 8
Зарегистрирован: 03 сен 2014, 16:23

Re: Замена страндартной темы, которая с черным заголовком

Сообщение Mini » 03 сен 2014, 17:48

Вопрос еще актуален.

Mini
Сообщения: 8
Зарегистрирован: 03 сен 2014, 16:23

Re: Замена страндартной темы, которая с черным заголовком

Сообщение Mini » 03 сен 2014, 20:19

Всем спасибо за помощь , особенно Администрации, разобралась со всем на 100% Plus )

Mini
Сообщения: 8
Зарегистрирован: 03 сен 2014, 16:23

Re: Замена страндартной темы, которая с черным заголовком

Сообщение Mini » 03 сен 2014, 20:19

Ps. Тему можно закрывать.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Замена страндартной темы, которая с черным заголовком

Сообщение Mikhail_dev » 03 сен 2014, 23:27

Сегодня, 16:36
Сегодня, 17:48
Сегодня, 20:19
Сегодня, 20:19

Да что Вы? И с каких пор Вы решили что Вам кто-то что-то должен? Мне вот интересно, откуда вы решили что Вам должен кто-то должен дать ответ в течение 4 часов??? Или мы не люди и у нас нет других дел?

P.S. корону снимите, "уважаемая".

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Замена страндартной темы, которая с черным заголовком

Сообщение klblk » 04 сен 2014, 06:14

Это всё-таки форум, а не чат. Люди отвечают по мере возможности.

Ответить