2011-07-31 9 views
1

Je suis encore un peu confus sur la façon de redimensionner les images pour tenir sur un petit écran normal et grand sur un téléphone Android. Dites que j'ai une image qui est 500px par 500px et est un JPG.Comment déterminer la taille des images pour plusieurs écrans?

Je veux faire 4 boutons d'image en faisant un 2 par 2 au centre de l'écran. Par souci de simplicité supposons que j'utilise cette même image pour tous les 4 boutons.

Maintenant, comment puis-je savoir combien je dois redimensionner l'image pour chacun des écrans?

Pour que cela ressemble à ceci au centre de la vue.

x x 

x x 

Répondre

1

Je pense que vous voulez un 9-drawable (* .9.png). Ils vous permettent de créer des graphiques extensibles et de déclarer une zone de remplissage de contenu. Les boutons d'actions d'Android les utilisent.

http://developer.android.com/guide/developing/tools/draw9patch.html

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

Pour les boutons, vous aurez probablement envie de les faire changer en fonction de quel état ils sont. Vous utilisez dessinables StateList pour cela.

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

Voici un exemple d'un bouton StateList d'une de mes applications pour rendre un bouton barre d'action.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@color/slight_white" /> <!-- pressed --> 
    <item android:state_focused="true" android:drawable="@android:color/transparent" /> <!-- focused --> 
    <item android:drawable="@android:color/transparent" /> <!--menu_normal default --> 
</selector> 

Dans ce cas, j'utilise des couleurs mais vous pouvez bien sûr remplacer cela par n'importe quel dessin. Y compris les 9 drawables que vous apportez.

Pour un exemple complet, regardez le code source fourni avec le SDK.

% ANDROID_SDK_ROOT% \ platforms \ android-12 \ data \ res \ drawable \ btn_default.xml

+0

comment puis-je dire quel sélecteur devrait aller avec quel bouton? J'ai aussi essayé de mettre juste le sélecteur juste après ma mise en page relative et il semble que ce n'est pas comme ça. – xiao

+0

hmm Je regarde l'exemple et je coupe le btn_default directement dans mon fichier mais je reçois "l'élément 'selector' n'est pas déclaré". Je me demande si cela a à voir avec le fait que j'utilise monodroid pas android. – xiao

Questions connexes