Là tu parles de 2 problème différents
1 l'affichage en justifier
2 l'affichage dans une police particulière sous android dans un champ HTML
Pour le premier point
dans ton champ HTML tu met un texte comme ceci par exemple :
J'ai mis mon texte dans un paragraphe avec la balise P et dans mon css j'ai dis que je le souhaite justifié.HTML:
<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
charset="utf-8" />
<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
></Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
type="text/css">
html{color:#000;background:#FFF;}
p {
font-size: 1.5em;
padding: 10px;
width: 95%;
margin: 10px auto;
text-align: justify;
}
</Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
</Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam laoreet
sed felis quis euismod. Etiam auctor dolor diam, ut aliquet metus sollicitudin
malesuada. Integer nec purus tortor. Vestibulum ac ornare metus, eget viverra nisl.
Mauris accumsan urna et massa cursus vehicula. Suspendisse tortor enim, interdum vel
tristique pellentesque lectus. Suspendisse hendrerit, justo at ullamcorper pellente
lectus lacus ullamcorper risus, eu suscipit magna arcu ac lorem.
In porta augue sed lectus mollis placerat. Nulla non orci viverra, semper metus et,
condimentum ligula. Donec facilisis aliquet purus, eget semper turpis maximus ac.
Nulla pellentesque ipsum enim, nec luctus lorem efficitur et.
Mauris dapibus metus a varius tristique. In semper lectus eget risus euismod,
ac vehicula massa feugiat. Integer scelerisque, sem a facilisis porta, augue lacus
venenatis orci, id tincidunt quam lacus tincidunt tortor. Fusce dapibus varius tort
</Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
</Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
</Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
>
pour ta deuxième question, il se trouve que j'ai mis un tutoriel a ce sujet sur les ressources du site
et il faut savoir que pcsoft renomme légèrement les fichiers quand il les insères dans l'apk.
il faut donc que tu créer un apk et que tu le décompresse (c'est en réalité un zip) et tu trouveras le fichier dans le sous répertoire assets.
Tu récupéras le bon nom.
Ensuite sur la ligne </style> tu rajoute
En supposant que moore1_8.ttf soit le bon nomHTML:@font-face { font-family: Font1; src: url('file:///android_asset/moore1_8.ttf'); }
.divA{ font-family: Font1;}
Tu auras alors ton texte dans la bonne police et en justifié
Il faudra bien sur remplacé le texte entre les balises <p> et </p> par ton texte en utf8.
-
Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !Rejeter la notice
WD Justifier un texte sous android
Discussion dans 'Windev Mobile' créé par Cefaliyon, Mar 6, 2020.
Page 1 sur 2
MerciBonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Effectivement j'ai deux problèmes. Le premier, à savoir justifier le texte, est résolu.
Malheureusement, il n'affiche pas mon texte avec la bonne police. Je te montre ce que j'ai fait :
Le nom de la police :Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Le code HTML :
[windev]PROCÉDURE AffecteVariable(Contenu) : chaîne
Variable est une chaîne = [
<html>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
html{color:Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
;background:Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
;}
p {
font-size: 1.5em;
padding: 10px;
width: 95%;
margin: 10px auto;
text-align: justify;
}
@font-face { font-family: Font1; src: url('file:///android_asset/moore2_2_36.ttf'); }
.divA{ font-family: Font1;}</style>
</head>
<body>
<p>[%Contenu%]
</p>
</body>
</html>
]
RENVOYER Variable[/windev]
Bien à toi.
Fichiers attachés:
essaie en remplaçant
@font-face { font-family: Font1; src: url('file:///android_asset/moore2_2_36.ttf'); }
.divA{ font-family: Font1;}
par
@font-face { font-family:'Moore'; src: url('file:///android_asset/moore2_2_36.ttf'); }
Sinon rajoute
body {
font-family: Font1;
text-align: justify;
}
en dessous de la ligne @font-face si tu n'as rien modifier
ou
body {
font-family: 'Moore';
text-align: justify;
}
si tu le modifie
Bonjour
pour justifier le texte j'utilise setJustificationMode en java (a testé ) sur mon appareil android 9 sa fonctionne bien
LIB_Hello c'est le nom de libelle contient le texte a justifierCode (Text):
import android.widget.TextView;
import android.graphics.Typeface;
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;
public static void JustifierLibelle()
{
TextView myTextView;
myTextView = (TextView) getView ("LIB_Hello");
myTextView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
}
modification de la fonction java pour justifier et modifier le font
Code (Text):
import android.widget.TextView;
import android.graphics.Typeface;
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;
public static void JustifierLibelle()
{
TextView myTextView;
myTextView = (TextView) getView ("LIB_Hello");
myTextView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
Typeface face = Typeface.createFromAsset(getApplicationContext().getAssets(),"moore2_2_36.ttf");
myTextView.setTypeface(face);
}
essaie en remplaçant
@font-face { font-family: Font1; src: url('file:///android_asset/moore2_2_36.ttf'); }
.divA{ font-family: Font1;}
par
@font-face { font-family:'Moore'; src: url('file:///android_asset/moore2_2_36.ttf'); }
Sinon rajoute
body {
font-family: Font1;
text-align: justify;
}
en dessous de la ligne @font-face si tu n'as rien modifier
ou
body {
font-family: 'Moore';
text-align: justify;
}
si tu le modifieCliquez pour agrandir...
@font-face { font-family:'Moore'; src: url('file:///android_asset/moore2_2_36.ttf'); }
body {
font-family: 'Moore';
text-align: justify;
}
Tout marche très bien. Merci pour ton aide.
modification de la fonction java pour justifier et modifier le font
Code (Text):
import android.widget.TextView;
import android.graphics.Typeface;
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;
public static void JustifierLibelle()
{
TextView myTextView;
myTextView = (TextView) getView ("LIB_Hello");
myTextView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
Typeface face = Typeface.createFromAsset(getApplicationContext().getAssets(),"moore2_2_36.ttf");
myTextView.setTypeface(face);
}Cliquez pour agrandir...
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
Très interessant. J'ai essayé mais j'ai une erreur à la génération de l'APK.
J'ai créé une procedure Globale JustifieTexte que J'appelle quand je veux justifier un champ libellé.
Code (Text):
public static void JustifieTexte(final String sChamp)
{
import android.widget.TextView;
import android.graphics.Typeface;
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;
public static void JustifierLibelle()
{
TextView myTextView;
myTextView = (TextView) getView (sChamp);
myTextView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
Typeface face = Typeface.createFromAsset(getApplicationContext().getAssets(),"moore2_2_36.ttf");
myTextView.setTypeface(face);
}
}
{
import android.widget.TextView;
import android.graphics.Typeface;
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;
public static void JustifierLibelle()
{
TextView myTextView;
myTextView = (TextView) getView (sChamp);
myTextView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
Typeface face = Typeface.createFromAsset(getApplicationContext().getAssets(),"moore2_2_36.ttf");
myTextView.setTypeface(face);
}
}
Echec de la création de l'application Android <C:\Mes Projets Mobile\Wend Pegr Nooma\Exe\WPN.apk>.
Ligne de commande : "C:\Program Files\Java\jdk1.8.0_241\bin\java.exe" -Duser.dir="C:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen" "-Dorg.gradle.appname=C:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen" -classpath "C:\windev mobile 24\Personnel\Android\Gradle\lib\gradle-launcher-4.4.1.jar" org.gradle.launcher.GradleMain assembleDebug -b "C:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen\build.gradle"
Erreur retournée :
:compileDebugJavaWithJavacC:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen\src\com\gesb\wpn\wdgen\GWDCPCOL_ProceduresGlobales.java:112: error: illegal start of expression
public static void JustifierLibelle()
^
C:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen\src\com\gesb\wpn\wdgen\GWDCPCOL_ProceduresGlobales.java:112: error: illegal start of expression
public static void JustifierLibelle()
^
C:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen\src\com\gesb\wpn\wdgen\GWDCPCOL_ProceduresGlobales.java:112: error: ';' expected
public static void JustifierLibelle()
^
C:\Mes Projets Mobile\Wend Pegr Nooma\Android\Gen\src\com\gesb\wpn\wdgen\GWDCPCOL_ProceduresGlobales.java:112: error: ';' expected
public static void JustifierLibelle()
^
4 errors
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!
BUILD FAILED in 4s
16 actionable tasks: 6 executed, 10 up-to-date
Imports ne doit pas etre dans une procedure
Don copier la procedure et colle la apres avoir changer en java
Bonjour
pour justifier le texte j'utilise setJustificationMode en java (a testé ) sur mon appareil android 9 sa fonctionne bien
LIB_Hello c'est le nom de libelle contient le texte a justifierCode (Text):
import android.widget.TextView;
import android.graphics.Typeface;
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;
public static void JustifierLibelle()
{
TextView myTextView;
myTextView = (TextView) getView ("LIB_Hello");
myTextView.setJustificationMode(JUSTIFICATION_MODE_INTER_WORD);
}
Cliquez pour agrandir...
Bonjour,
Merci, pour ce lien.
J'ai essayé d'intégrer le code JAVA dans une procédure globale en selectionnant bien le type de langage sur JAVA mais quand j'appel la procédure j'ai cette erreur :
Erreur :Le langage de la procédure 'texte_justifier' est incompatible avec la cible d'exécution.
J'ai donc appelé la procédure avec
[windev] <COMPILE SI TypeConfiguration=iOS>
<SINON>
texte_justifier()
<FIN>[/windev]
Maintenant lors de l'appel de la procédure j'ai ce problème :
Message=Erreur interne.
Message système=android.widget.TextView.setJustificationMode
Traitement=Initialisation de FEN_actu
Pile WLangage=Initialisation de FEN_actu
Clic gauche sur FEN_Accueil.BTN_SansNom1
Pile Java=com.equicomm.cre_pays_de_la_loire.wdgen.GWDCPCOL_notif.texte_justifier(GWDCPCOL_notif.java:1066)
com.equicomm.cre_pays_de_la_loire.wdgen.GWDCPCOL_notif.fWD_recup_actu(GWDCPCOL_notif.java:581)
com.equicomm.cre_pays_de_la_loire.wdgen.GWDFFEN_actu.init(GWDFFEN_actu.java:1568)
fr.pcsoft.wdjava.ui.m.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.n.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.champs.j.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.champs.fenetre.a.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.champs.fenetre.WDFenetre.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.m.a(Unknown Source)
fr.pcsoft.wdjava.ui.m.appelPCode(Unknown Source)
fr.pcsoft.wdjava.ui.n.appelPCode(Unknown Source)
fr.pcsoft.wdjava.ui.champs.i.appelPCode(Unknown Source)
fr.pcsoft.wdjava.ui.champs.fenetre.c.run(Unknown Source)
android.os.Handler.handleCallback(Handler.java:73
android.os.Handler.dispatchMessage(Handler.java:95)
fr.pcsoft.wdjava.core.utils.ac.a(Unknown Source)
fr.pcsoft.wdjava.ui.champs.fenetre.WDFenetre.ouvre(Unknown Source)
fr.pcsoft.wdjava.ui.champs.fenetre.a.ouvre(Unknown Source)
fr.pcsoft.wdjava.ui.champs.fenetre.a.ouvrirFenetre(Unknown Source)
fr.pcsoft.wdjava.action.WDActionPredefinie.executeActionPredefinie(Unknown Source)
com.equicomm.cre_pays_de_la_loire.wdgen.GWDFFEN_Accueil$GWDBTN_SansNom1.clicSurBoutonGauche(GWDFFEN_Accueil.java:400)
fr.pcsoft.wdjava.ui.n.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.champs.j.executerTraitement(Unknown Source)
fr.pcsoft.wdjava.ui.m.a(Unknown Source)
fr.pcsoft.wdjava.ui.m.appelPCode(Unknown Source)
fr.pcsoft.wdjava.ui.n.appelPCode(Unknown Source)
fr.pcsoft.wdjava.ui.champs.i.appelPCode(Unknown Source)
fr.pcsoft.wdjava.ui.n.appelPCode_TLM(Unknown Source)
fr.pcsoft.wdjava.ui.champs.bouton.g.onClick(Unknown Source)
android.view.View.performClick(View.java:4508)
android.view.View$PerformClick.run(View.java:18675)
android.os.Handler.handleCallback(Handler.java:73
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:136)
android.app.ActivityThread.main(ActivityThread.java:5590)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
dalvik.system.NativeStart.main(Native Method)
Thread=id=1
name=main
priority=5
groupName=main
Comment régler ce problème, de quoi cela vient-il ? Faut-il importer une librairie Java, je suis dsl je ne maitrise vraiement pas Java.
Je vous remercie d'avance pour votre aide. Bonne journée