android: actionBarStyle wymaga API poziomu 11
Podczas używania ActionBarSherlock
w xml pod adresem:
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Mam ten błąd:
android:actionBarStyle requires API level 11 (current min is 8) error
Używam go do wstecznego przenoszenia mojej aplikacji z actionbar na urządzenia 2.2.
Jak używać ich obu razem:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
4 answers
Musisz używać tylko:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
Ponieważ możesz uzyskać błąd, masz android:actionBarStyle
dostępne na poziomie API 11.
Jeśli chcesz, aby Twój ActionBar
wyglądał tak samo na wszystkich poziomach API, musisz utworzyć różne foldery dla wybranego poziomu API i utworzyć nowy style.xml
/themes.xml
pliki w tych folderach.
Na przykład:
- res
-- values
-- styles.xml
-- themes.xml // API LEVEL 8+
-- values-v11
-- styles.xml
-- themes.xml // API LEVEL 11+
-- values-v14
-- styles.xml
-- themes.xml // API LEVEL 14+
Drugą rzeczą, o której myślę, to uważać, które tematy są włączone do Twojego obecnego w różne poziomy API.
Na przykład dla API poziomu 8: będziesz używać @style/Theme.Sherlock.Light.DarkActionBar
i będziesz musiał używać tylko actionBarStyle
. Podczas stylizacji paska akcji dla API poziomu 14+, nie będziesz potrzebował actionBarStyle
, ponieważ prawdopodobnie ustawisz Holo.Light
motyw jako rodzica dla bieżącego, więc w tej sytuacji będziesz musiał użyć android:actionBarStyle
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-22 16:04:21
Inną opcją jest użycie atrybutu tools:targetApi
, który wymaga przestrzeni nazw tools
. Działa to podobnie do adnotacji @TargetApi
, której można używać w plikach java.
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="MyThemes.MyTheme">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle" tools:targetApi="11">@style/Widget.Styled.ActionBar</item>
</style>
</resources>
Zwróć uwagę na xmlns:tools="http://schemas.android.com/tools"
w znaczniku <resources>
, ponieważ jest to wymagane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-13 18:30:09
Możesz po prostu wybrać błędy w Eclipse i nacisnąć klawisz "Delete". Następnie po prostu uruchom projekt i będzie działać.
Masz usunąć te błędy za każdym razem, gdy modyfikujesz XML.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-11 13:51:06
To zależy, jaką wersję SDK chcesz kierować:
Target devises lower than 11:
W Twoim AndroidManifest.xml
Użyj:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="x" android:maxSdkVersion="10"/>
X cokolwiek między 8-10 (zależy od Twojego kodu)
W Twoim stylu użyj:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
Target any device:
W Twoim AndroidManifest.xml
Użyj:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
16 użyty w ActionBarSherlock
przykład może być dowolny większy lub równy 11 (zależy od Twojego kodu)
W Twoim stylu użyj obu:
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
Pierwszy jest dla ActionBarSherlock
tematu i 2nd jest za używanie tego samego motywu w urządzeniach z Androidem, które już obsługują ActionBar
Edit: aby wyczyścić Ostrzeżenia Lint (czerwone podkreślenie w pliku XML, które mogą się pojawić):
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-12 07:24:22