Qual è la forma equivalente di classe java.awt.Dimension
per Android?Class Dimension per Java su Android
risposta
Si potrebbe utilizzare Pair<Integer, Integer>
che è la classe generica tuple di Android. (È necessario sostituire getWidth()
e getHeight()
con first
e second
, tuttavia.) In altri punti dell'API Android, il team di Android sembra utilizzare classi ad hoc per questo scopo, ad esempio Camera.Size
.
coppia
Perché avete bisogno di abusare di altre classi invece di implementare qualcosa di estremamente semplice come:
public class Dimensions {
public int width;
public int height;
public Dimensions() {}
public Dimensions(int w, int h) {
width = w;
height = h;
}
public Dimensions(Dimensions p) {
this.width = p.width;
this.height = p.height;
}
public final void set(int w, int h) {
width = w;
height = h;
}
public final void set(Dimensions d) {
this.width = d.width;
this.height = d.height;
}
public final boolean equals(int w, int h) {
return this.width == w && this.height == h;
}
public final boolean equals(Object o) {
return o instanceof Dimensions && (o == this || equals(((Dimensions)o).width, ((Dimensions)o).height));
}
}
Poiché la maggior parte dei programmatori tendono a dimenticare di implementare 'hashCode()' e 'Parcelable' e finiscono per perdere tempo prezioso con queste banalità quando potevano solo hanno usato' Point' fornito dal fine Android API e passò a questioni più urgenti;) –
È possibile scegliere una delle seguenti opzioni:
android.util.Size
(dal API 21). HagetWidth()
egetHeight()
ma è immutabile, il che significa una volta che è creato, non è possibile modificarlo.android.graphics.Rect
. HagetWidth()
egetHeight()
ma sono basati su internoleft
,top
,right
,bottom
e possono sembrare gonfiati con tutte le sue variabili extra e metodi di utilità.android.graphics.Point
che è un contenitore semplice, ma il nome non è giusto ed è principale membri sono chiamatix
ey
che non è ideale per il dimensionamento. Tuttavia, questa sembra essere la classe di usare/abuso quando ottenere la larghezza ed altezza di visualizzazione dal quadro Android in sé come si vede qui:Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y;
vuoi dire equivivalent Java Swing classe Dimension? La domanda a linea singola potrebbe non ottenere una risposta utile. Si prega di fornire quante più informazioni possibile. – kosa
sì !! sua la classe Java Swing Dimension equivalente – Thiyagu