2017-08-14 3 views
0

EDIT: The application's interfaceWie ändere ich die Position meiner neuen Tätigkeit (Display Metrics)

Ich habe ein Pop-up-Fenster und Klasse erstellt, dass, wenn ich diese onInfoWindowClick in den Karten von Google klicken, erscheint ein Pop-up-Fenster erscheint ODER die nächste Aktivität wird angezeigt. Ich habe dafür Display Metrics verwendet, aber es wird nur auf dem mittleren Bildschirm angezeigt.

Was ich möchte ist: Wenn die Aktivität angezeigt wird, möchte ich, dass es oben angezeigt wird oder zumindest die Möglichkeit hat, die Position der Aktivität in einem beliebigen Teil des Fensters zu ändern.

Mein Problem: Die Anzeige Metriken zeigt die Aktivität nur in der Mitte.

Meine Codes in meinem Pop-Up-Fenster:

public class PopUp extends AppCompatActivity { 
    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.pop_layout); 

     DisplayMetrics dm = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(dm); 

     int width = dm.widthPixels; 
     int height = dm.heightPixels; 

     getWindow().setLayout((int)(width*.8),(int)(height*.5)); 

    } 
} 

Hinweis: Gibt es eine andere eine Methode, dies zu tun? Kannst du mir einen Link geben, wie es geht? (Nur wenn es eine andere Methode, es zu tun)

Antwort

1

Fügen Sie einfach diese Zeile am Ende:

getWindow().setGravity(Gravity.TOP); 

P. S. Sie können andere Werte (nicht nur Gravity.TOP) nach Ihren Bedürfnissen verwenden. Sie können auch mehrere Optionen kombinieren, zum Beispiel getWindow().setGravity(Gravity.TOP|Gravity.START);

+0

Wo kann ich mehr über Schwerkraft lernen, damit ich alles so positionieren kann, wie ich möchte? Und danke fürs Beantworten, hab was ich brauchte! –

+0

@ Yahj Rodriguez einfach google/youtube verwenden. bitte lesen Sie auch über den Unterschied zwischen Gravitation und layoutGravity (besonders bei Verwendung in xml) –

Verwandte Themen