Backstory: Ich mache eine sehr einfache Rock Paper Scissors App. In der App haben Sie 3 Tasten, um Stein, Papier oder Schere auszuwählen.wie man das korrekte pop up Fenster in android Studio effizient zeigt
Wenn Sie den Rock wählen, habe ich eine popupwindow, der sagt „Computer Papier spielt man verliert“
Das Problem ist, diese Popup-Meldung dynamisch sein muss.
Mein Ziel ist es, den Computer zufällig eine Bewegung auswählen zu lassen und das Ergebnis des Spiels zu bestimmen, das in einem Popup-Fenster angezeigt wird. Wenn ich zum Beispiel Rock wähle und der Computer eine Schere wählt, würde das Popup die Meldung "Computer wählt eine Schere, die Sie gewinnen!" Erzeugen. Dies ist wahrscheinlich ziemlich einfach für alle von euch, aber ich werde immer noch mit Android-Entwicklung und Android-Studio vertraut.
Ist es möglich, nur eine popupwindow.xml-Datei zu haben und Werte zu übergeben, um die richtige Nachricht anzuzeigen? Wie "Computer spielt 'computermov' Sie 'Ergebnis'!"
Wie kann ich das umsetzen? Unten ist page2.java, wo nur einer der Knöpfe programmiert ist, um das Popup-Fenster aufzurufen. Ich muss es für alle drei Tasten funktionieren lassen. Ich habe auch popwindow.xml und Pop.java, eine Klasse, die ich gemacht habe, die das Popup-Fenster aufruft.
popupwindow.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Computer played Paper you lose!"
android:id="@+id/textView"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
page2.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitypage2);
ImageButton btn = (ImageButton) findViewById(R.id.imageButtonRock);
//btn is set to the rock image needs to be dynamic
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(page2.this, Pop.class));
}
});
}
Pop.java
public class Pop extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popupwindow);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.heightPixels;
getWindow().setLayout((int)(width*.8),(int)(height*.4));
}
Also, was ich denke, ist, dass in popupwindow.xml Ich könnte alle Pos. Hart codieren sible Ergebnisse der Computerauswahl und des Ergebnisses des Spiels und zeigen zur Laufzeit einfach das richtige Popup nach ID an. Scheint wie der falsche Weg es zu tun, aber ich denke, das könnte funktionieren?
Was ist eine effizientere Art, dies zu tun? Danke im Voraus!
Wenn Sie "Popupwindow" sagen, sprechen Sie über eine Warnung? klingt wie du redest über eine neue Aktivität – TooManyEduardos
'Popupwindow' ist nur eine Warnung. – fatalError
Nein, ist es nicht. Wir haben keine Popup-Fenster auf Android oder iOS. Sie können Warnungen haben, aber keine Popups – TooManyEduardos