こんにちは、まっさん(@Tera_Msaki)です。
この記事はAndroidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Javaでの開発経験、XML構文規則、Androidのアプリ開発経験がある方を対象としています。
Androidのアプリ開発でお役にたててれば、嬉しいです。
これからAndroidのアプリ開発やJavaでの開発を始めたい方への案内は、記事の最後で紹介します
◎テーマ
動的にXMLで定義した画面上のオブジェクトのサイズを変更したい
◎ポイント
レイアウトXMLで定義したオブジェクトのサイズをユーザが任意でサイズ変更できるようにするためには、Javaコーディングでレイアウトパラメータを変更する必要があります。
◎対応前
◎対応後
◎レイアウトXML(activity_main.xml)
:
<com.github.mikephil.charting.charts.ScatterChart
android:id="@+id/locus"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_alignParentEnd="true"
android:layout_margin="4dp"
android:background="@drawable/bg_grey0" />
:
◎Java 制御部分のコーディング(MainActivity.java)
private int LOCUS = 300;
:
//サイズ(100以下は無効)
ViewGroup.LayoutParams params = locus.getLayoutParams();
params.width = (int)(context.getResources().getDisplayMetrics().density * (Math.max(LOCUS, 100)));
params.height = (int)(context.getResources().getDisplayMetrics().density * (Math.max(LOCUS, 100)));
locus.setLayoutParams(params);
:
LayoutParamsのサイズ(width, height)の指定は Pixel ですので、Pixel → DP変換を行って指定します。
上記コーディングでは、固定変数(LOCUS)に初期値300(DP)を指定していますが、システムパラメータのLOCUSに設定する処理を行い、任意で指定したサイズで描画するようにしています。
これからAndroidのアプリ開発やJavaでの開発を始めたい方へ
アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、Java や C# などのオブジェクト指向言語が初めての方は、Android のアプリ開発ができるようになるには、かなりの時間がかかります。オンラインスクールでの習得を、強くおススメします。
未経験者からシステムエンジニアを目指すのに最適かと、
まずは無料相談から♪
未経験者からプログラマーを目指すのに最適かと、
まずは無料カウンセリングから♪
カリキュラムとサポートがしっかりしています、
お得なキャンペーンとかいろいろやっています♪
ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適かと、
まずは無料オンライン相談から♪
参考になったら、💛をポッチとしてね♪
コメント欄