2012-10-09 2 views
0

salut je fais une application en android pour toutes les tailles de mobiles et de tablettes.imagesviews displyed dans toutes les tailles good.but je face à problm en taille de police textview.in mon application j'ai besoin pour afficher textview avec cet arrière-plan et le texte, mais la taille différente de texte de tailles affiche pas correctement. chacun ayant l'idée pls m'aider. i essayé d'utiliser le code ci-dessous ...comment changer la taille du texte dans tous les appareils en android

MainActivity .class

public class MainActivity extends Activity { 
float screenHeight,screenWidth,screendensity; 
RelativeLayout alpha_page2; 
ImageView alpha_back,alpha_back1; 
TextView option121; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    DisplayMetrics displaymetrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    screenHeight = displaymetrics.heightPixels; 
    screenWidth = displaymetrics.widthPixels; 
    screendensity = displaymetrics.densityDpi; 
    Log.i("screenHeight",""+screenHeight); 
    Log.i("screenWidth",""+screenWidth); 
    Log.i("screendensity",""+screendensity); 
    setContentView(R.layout.activity_main); 

    int letpading=(int)(116*(screenWidth/1024)); 
    int toppading=(int)(79*(screenHeight/600)); 

    int textsiz=(int)(50*(screendensity/600)); 
    option121 = (TextView)findViewById(R.id.text1); 
    option121.setBackgroundResource(R.drawable.dog_b_blank); 
    option121.setText("A"); 
    option121.setText(Color.BLACK); 
    RelativeLayout.LayoutParams layoutoption121 = (RelativeLayout.LayoutParams) option121.getLayoutParams();  
    layoutoption121.height=(int)(180*(screenHeight/600)); 
    layoutoption121.width=(int)(180*(screenWidth/1024)); 
    layoutoption121.topMargin=(int)(100*(screenHeight/600)); 
    layoutoption121.leftMargin= (int)(250*(screenWidth/1024)); 
    option121.setPadding(letpading, toppading, 0, 0); 

    option121.setTextSize(textsiz); 
    } 

} 

Répondre

0

Cest pas la façon dont le faire. Android prend soin de la taille du texte pour vous, utilisez « sp » unités (pixel échelle indépendant) lors de la spécification des tailles de texte et si vous devez configurer différentes tailles pour différents écrans ont une lecture de ceci:

Supporting Multiple Screens

fondamentalement, vous devez définir vos tailles de texte dans des fichiers .xml dans le répertoire des ressources appropriées:

res/valeurs-grandes res/valeurs XLarge etc ..

Ensuite, reportez-vous à ces constantes dans votre mise en page xml ou votre code.

+0

merci, si je vais faire comme cela signifie dans toutes les tailles de travail bien je fais face à prblm dans la taille du texte.en xml je vais donner \t android: textSize = "50sp" signifie une taille son fonctionnement bien.pour une autre taille de son ne fonctionne pas – user1083266

+0

Lire le lien. Il semble que vous vouliez spécifier des tailles de texte différentes pour différentes tailles d'écran, n'est-ce pas? Le lien décrit comment faire cela. – Andy

+0

J'ai voyagé comme ça aussi mais je vous ai eu n'importe quelle autre solution pouvez-vous me téléphoner – user1083266

Questions connexes