こんにちは、まっさん(@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での開発を始めたい方へ
初めてのAndroidのアプリ開発では、アプリケーション開発経験がない方や、
アプリケーション開発経験がある方でも、JavaやC#などのオブジェクト指向言語が初めての方は、
書籍などによる独学ではアプリ開発できるようになるには、
かなりの時間がかかりますので、オンラインスクールでの習得をおススメします。




コメント欄