J'essaie de définir la taille et la position d'une image (image2) sur l'écran afin qu'elle soit dans la même position et la même taille par rapport à l'image d'arrière-plan (image1) quelle que soit la taille de l'écran. Pour ce faire, je tente de modifier les paramètres de mise en page de image2 dans ma méthode onCreate
de ma Activity
classe:Comment régler la taille et la position d'une image?
public class Game_main extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
ImageView image2= (ImageView) findViewById(R.id.seed1);
ImageView image1= (ImageView) findViewById(R.id.board_rev1);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.rlGame);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams((image1.getWidth())/4, (image2.getHeight())/4);
params.leftMargin = (image1.getWidth())/2;
params.topMargin = (image1.getHeight())/4;
rl.addView(image2, params);
setContentView(R.layout.gamerev);
}
}
Mais quand mon application va à cette activité, je reçois une erreur indiquant que l'application a été arrêtée de façon inattendue. Ensuite, je dois forcer la fermeture de l'application. Pourquoi cela arriverait-il? Y a-t-il quelque chose qui me manque? ou y a-t-il une meilleure façon de le faire?
L'erreur dans le logcat est:
E/AndroidRuntime (296): java.lang.RuntimeException: Impossible de démarrer l'activité Co mponentInfo {com.soft.tobi/com.soft.tobi.Game_main} : java.lang.NullPointerExc eption
Mais je ne vois pas pourquoi tout serait nulle parce que tous les ids existent dans mon fichier xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rlGame"
>
<ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/board_rev1" android:src="@drawable/board_rev1"></ImageView>
<ImageView android:id="@+id/seed1" android:src="@drawable/seed1" android:adjustViewBounds="true" android:layout_height="200dp" android:layout_marginTop="165dp" android:layout_width="200dp" android:layout_marginLeft="30dp"></ImageView>
</RelativeLayout>
Merci
où vous faites cela? (si dans onCreate cela ne fonctionnera pas puisque getWidth retournera zéro). Quelle est l'erreur dans le logcat? vous n'avez pas fourni suffisamment d'informations pour vous aider. – jkhouw1
Je le fais dans OnCreate. Comment puis-je obtenir le logcat? J'ai essayé d'exécuter $ adb logcat comme dans: http://developer.android.com/guide/developing/tools/logcat.html mais cela n'a pas fonctionné. Y a-t-il d'autres informations dont vous avez besoin? – Tobi
J'ai mis à jour ma question pour inclure toutes les informations nécessaires – Tobi