2017-06-14 2 views
0

Dans Android Studio, je veux créer une unité personnalisée qui va changer sa valeur en fonction de la taille de l'écran. Le même résultat peut être obtenu en utilisant LayoutParameters mais la définition de la hauteur, de la largeur et des 4 marges pour chaque widget sera vraiment mouvementée. Est-il possible de créer une unité personnalisée que je peux utiliser en XML de la façon dont dp est utilisé? Je veux obtenir cette fonctionnalité:voulez créer une unité personnalisée dans android studio

DisplayMetrics m = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(m); 
int deviceWidth = m.widthPixels; 
int deviceHeight = m.heightPixels; 
double width = ( 1.0*560/1440 /160);//1440=pixel xl width 560=pixel xl dpi 160=base dpi 
double mLayout = ((width * deviceWidth)); 

Maintenant, au lieu de LayoutParams, j'ai besoin mLayout d'être mon unité de mesure en pixels.

+0

'dp' n'est pas une unité personnalisée. Il s'adapte simplement à un facteur d'échelle déterminé par la densité de l'écran. –

+0

Oui, dp n'est pas une unité personnalisée mais j'ai besoin d'une unité personnalisée qui puisse évaluer la taille de l'écran. –

+0

Tout simplement, j'ai créé une vue. Je veux qu'il rétrécisse ou s'agrandisse en fonction de la taille de l'écran. Dimensions en pourcentage est ce que je veux. Remplir le parent ou le contenu d'enveloppe n'aidera pas –

Répondre