HarmonyOS では、commonDialog を作成し、それに画面サイズの stackLayout を追加しようとしています。このレイアウトは、コンポーネント (画像など) を画面上の任意の場所に移動するのに役立ちます。そのためには、画面全体の幅と高さが必要ですが、これらのパラメーターを取得するにはどうすればよいですか?
1 に答える
1
コミュニティへようこそ!
画面の幅と高さの戻り型の値を int として探している場合は、私が使用するソリューションを提供しています。以下のように、HarmonyOS API を使用して画面の幅と高さを計算します。
import ohos.agp.utils.Point;
import ohos.agp.window.service.Display;
import ohos.agp.window.service.DisplayManager;
import ohos.app.Context;
import java.util.Optional;
public class Utils {
private Utils() { }
public static int getScreenWidth(Context context) {
DisplayManager displayManager = DisplayManager.getInstance();
Optional<Display> optDisplay = displayManager.getDefaultDisplay(context);
Point point = new Point(0, 0);
if (optDisplay.isPresent()) {
Display display = optDisplay.get();
display.getSize(point);
}
return (int) point.position[0];
}
public static int getScreenHeight(Context context) {
DisplayManager displayManager = DisplayManager.getInstance();
Optional<Display> optDisplay = displayManager.getDefaultDisplay(context);
Point point = new Point(0, 0);
if (optDisplay.isPresent()) {
Display display = optDisplay.get();
display.getSize(point);
}
return (int) point.position[1];
}
}
于 2021-07-27T11:29:54.780 に答える