Ich arbeite an einem Android-Spiel. Ich versuche, eine Bildansicht von der oberen linken Ecke des Bildschirms mit den Rändern zu positionieren, aber es funktioniert nicht.Android RelativeLayout LayoutParams setMargins (500,500,0,0) Nicht effektiv
Hauptaktivität:
@Override
protected void onCreate(Bundle savedInstanceState) {
...
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getRealSize(size);
RelativeLayout relativeLayout = new RelativeLayout(this);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.MATCH_PARENT
);
relativeLayout.setLayoutParams(layoutParams);
setContentView(relativeLayout);
gameView = new GameView(this, this, size.x, size.y);
relativeLayout.addView(gameView);
...
Und meine Game Klasse:
public GameBoard (Activity activity, ...) {
...
revealItemImageView = new ImageView(activity);
revealItemImageView.setImageBitmap(bitmap);
RelativeLayout.LayoutParams revealItemLayoutParams = new RelativeLayout.LayoutParams(
(int)(screenHeight * 0.66), (int)(screenHeight * 0.66));
revealItemLayoutParams.setMargins(500, 500, 0, 0);
revealItemImageView.setLayoutParams(revealItemLayoutParams);
activity.addContentView(revealItemImageView, revealItemLayoutParams);
revealItemImageView.requestLayout();
Aber das Bild erscheint rechts oben in der linken oberen Ecke ohne Zwischenraum zwischen den oberen oder der linken Seite. Warum?
Versuchen Zugabe zu dem 'RelativeLayout' statt – Karakuri
Dank für diesen Hinweis. Dies, zusammen mit dem Hinzufügen einer zweiten Inhaltsansicht, war genau das, was ich brauchte. Ich erstelle eine Antwort, damit andere mit dieser Frage den vollständigen Code sehen können. – Joe