J'utilise la version Android 2.3.3 et de faire un jeu de tic tac toe dessus. J'ai un problème avec un placement d'objets lors de la conception de la mise en page, et il y a aussi quelque chose qui ne va pas avec un état de jeu du jeu. Toute aide serait géniale!Ma mise en page Android n'est pas sur le même emplacement lors de l'exécution sur l'émulateur, et montre leur position incorrecte
Regardez ci-dessous l'image de ma mise en page
Voici mon code xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.sherzod.ion.tictactoeandroid.MainActivity">
<GridLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="46dp"
android:layout_marginEnd="1dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="1dp"
android:layout_marginStart="1dp"
android:layout_marginTop="46dp"
android:background="@drawable/board"
android:columnCount="3"
android:rowCount="3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0"
tools:layout_constraintBottom_creator="1"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1">
<ImageView
android:id="@+id/imageView"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:onClick="dropIn"
android:tag="0" />
<ImageView
android:id="@+id/imageView5"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:onClick="dropIn"
android:tag="1"/>
<ImageView
android:id="@+id/imageView6"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="2"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:layout_row="0"
android:onClick="dropIn"
android:tag="2"/>
<ImageView
android:id="@+id/imageView9"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="40dp"
android:layout_row="1"
android:onClick="dropIn"
android:tag="3"/>
<ImageView
android:id="@+id/imageView10"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginBottom="10dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="10dp"
android:layout_marginTop="40dp"
android:layout_row="1"
android:onClick="dropIn"
android:tag="4"
tools:ignore="RtlHardcoded" />
<ImageView
android:id="@+id/imageView11"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="2"
android:layout_marginLeft="20dp"
android:layout_marginTop="40dp"
android:layout_row="1"
android:onClick="dropIn"
android:tag="5" />
<ImageView
android:id="@+id/imageView12"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="0"
android:layout_marginLeft="10dp"
android:layout_marginTop="50dp"
android:layout_row="2"
android:onClick="dropIn"
android:tag="6"/>
<ImageView
android:id="@+id/imageView14"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="2"
android:layout_marginLeft="20dp"
android:layout_marginTop="50dp"
android:layout_row="2"
android:onClick="dropIn"
android:tag="7"/>
<ImageView
android:id="@+id/imageView13"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_column="1"
android:layout_marginLeft="20dp"
android:layout_marginTop="50dp"
android:layout_row="2"
android:onClick="dropIn"
android:tag="8"/>
</GridLayout>
</android.support.constraint.ConstraintLayout>
Voici mon fichier Activité principale:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
// 0 = yellow ; 1 = red;
int activePlayer = 0;
// ** 2 means unplayed
int[] gameState = {2, 2, 2, 2, 2, 2, 2, 2, 2};
public void dropIn(View view) {
ImageView counter = (ImageView) view;
System.out.println(counter.getTag().toString());
int tappedCounter = Integer.parseInt(counter.getTag().toString());
if(gameState[tappedCounter] == 2) {
gameState[tappedCounter] = activePlayer;
}
counter.setTranslationY(-1000f);
if(activePlayer == 0) {
counter.setImageResource(R.drawable.yellow);
activePlayer = 1;
}else {
counter.setImageResource(R.drawable.red);
activePlayer = 0;
}
counter.animate().translationYBy(1000f).rotation(360).setDuration(200);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
désolé, mais quand je le lance sur l'émulateur, il est tout foiré ! – Sherzod
J'ai aussi vérifié sur l'émulateur, mais je l'ai fait sans l'arrière-plan 'GridLayout'. Pouvez-vous vérifier sans l'arrière-plan 'GridLayout'? –
Savez-vous pourquoi la fonctionnalité de glisser-déposer ne correspond pas aux éléments de position, ou dois-je créer une configuration pour que l'affichage de la disposition soit identique lors de son exécution sur l'émulateur? – Sherzod