Modifier la Taille du texte de l'élément de menu dans android
Je suis en utilisant de simples éléments de menu dans la barre d'action en utilisant suivants du code de l'activité principale:
package com.kaasib.ftpclient;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.app.ActionBar;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
boolean ret;
if(item.getItemId() == R.id.connection_manager){
ret = true;
}else{
ret = super.onOptionsItemSelected(item);
}
return ret;
}
}
Voici le menu xml dans main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/connection_manager"
android:orderInCategory="100"
android:showAsAction="collapseActionView"
android:title="@string/connection_manager"
android:textSize="2sp"
/>
</menu>
Il fonctionne sauf qu'il n'est pas de modifier la taille du texte. Maintenant la taille du texte pour l'élément de menu est plus grand alors que je veux taille de police plus petite. Donc, ce que je fais mal? Ne devrait pas android:textSize
attributute travail? Ou est-il un autre moyen pour le faire? Je crois que la taille du texte doit être définie à partir de XML pas de java comme il est la conception de chose. Toute suggestion?
avez-vous essayé d'utiliser
essayé mais cela ne fonctionne pas
dp
ou px
dans votre android:textSize=""
tag ?essayé mais cela ne fonctionne pas
OriginalL'auteur Hafiz | 2013-08-18
Vous devez vous connecter pour publier un commentaire.
Ajouter le "android:actionMenuTextAppearance" item pour vos activités dans votre styles.xml :
Appliquer ce style à votre activité dans votre Manifeste :
Ce travail est
OriginalL'auteur Pink Cocot
Ok, donc c'est ma solution, vous pouvez réellement utiliser le SpannableString pour récupérer le texte et ensuite de changer la police par RelativeSizeSpan (si vous voulez la taille du texte par rapport à celui par défaut) ou via AbsoluteSizeSpan (si vous voulez entrer manuellement la taille du texte):
Cet exemple augmente la taille de l'élément de menu textes de 50%.
OriginalL'auteur John Petrucci
Ainsi, il a été un long temps depuis que cela a été demandé mais j'aime bien cette solution comme steven smiths réponse change chaque vue:
Ajouter cette ligne dans la fenêtre des éléments:
Et ce pour les styles :
C'est ce que je voulais dire, ma solution Ne change pas tous les afficher.
Ce que je voulais dire, c'est que votre solution n'est pas la taille de l'écran/densité indépendante. J'ai besoin d'un moyen pour les éléments de menu à croître avec la taille de l'écran.
SP et DP sont écran indépendant. Si vous voulez avoir une même taille, en pourcentage, vous devez utiliser des pourcentages. Mais ce n'est pas recommandé.
ce que vous voulez faire sera vraiment difficile si sp/dp ne sont pas à faire ce que vous voulez parce que vous ne savez pas vraiment quelle est la taille (en pixels) de votre objet est jusqu'à ce que la disposition a eu lieu. Je pense que la plupart des programmeurs veulent que la police s'affichent de la même taille physique de l'écran quelle que soit la taille des pixels/résolution de l'écran, c'est affiché. Et c'est le but de la dp/sp. Et non, elle ne change pas à chaque texte, il change seulement de ceux qui utilisent AppTheme. Vous êtes libre de définir un style différent et avec différentes taille de la police/couleur/police et de l'appliquer comme vous le souhaitez.
OriginalL'auteur jobbert
ajouter dans le style de fichier xml comme ce fond de ligne de code personnalisé à la taille de la police,
après cette
après avoir "menu_text_style" ajouter à votre la fenêtre des éléments
OriginalL'auteur Caner Yılmaz
Ou vous pouvez définir la taille de la police dans les valeurs de/styles d'élément pour le thème que vous utilisez. Dans mon cas, le style indiqué dans le AndroidManifest.xml fichier:
Et donc mon style pour le AppTheme est maintenant:
Semble étrange qu'il ne fonctionne pas pour l'article...
OriginalL'auteur steven smith