Comment résoudre l'Erreur: Cet attribut doit être localisé. ('texte' avec la valeur 'TOP_LEFT')
Je suis la compilation source android à l'aide de la suite Android.mk fichier :
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := libarity
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := TouchPanelTest
include $(BUILD_PACKAGE)
##################################################
include $(CLEAR_VARS)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
mais il vous donnera l'erreur :
principal.xml:19: erreur: Erreur: Cet attribut doit être localisé. ('texte' avec la valeur 'TOP_LEFT').
mail.xml est comme suit :
<RelativeLayout
android:id="@+id/top_left"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#000"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TOP_LEFT" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/top_right"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#000"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TOP_RIGHT" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/bottom_left"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="#000"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BOTTOM_LEFT" />
</RelativeLayout>
OriginalL'auteur ssamar | 2011-12-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
dans l'Android.mk à omet la localisation vérifier.
Une autre façon est de désactiver la localisation de vérifier dans le système de construction. Commentaire de la ligne 81 dans
build/core/package.mk
OriginalL'auteur
Les meilleures pratiques pour les apps Android est de définir l'ensemble des non-contenu dynamique dans les fichiers de ressources. Cela vous permet de définir les différents fichiers de ressources pour les différentes langues, par exemple. Normalement, c'est juste une recommandation et le SDK Android ne vous plaignez pas si vous-valeurs de code dans votre mise en page xml. Le Android source système de construction, cependant, exige que toutes les chaînes de caractères définies dans un "valeurs" de la ressource. C'est probablement destiné à protéger les intégrateurs de systèmes à partir accidentellement en laissant le contenu dans une image du système qui ne sont pas affichés dans la langue choisie.
Ce que vous devez faire est de déplacer les valeurs de chaîne de la mise en page et de le définir dans
res/values/
à la place. L'endroit habituel pour les valeurs de chaîne est enres/values/strings.xml
, mais le fichier peut être nommé tout ce que vous voulez, tant que c'est dans ce répertoire.Par exemple, dans res/values/string.xml:
Et dans votre
main.xml
disposition, se référer au contenu par nom:Pour plus de détails sur le comment et le pourquoi de cette question, voir Google documentation sur les La localisation dans Android.
OriginalL'auteur