Android の寸法に数学演算を適用するにはどうすればよいですか? 質問する

Android の寸法に数学演算を適用するにはどうすればよいですか? 質問する

このハードコードされた計算を回避するにはどうすればいいでしょうか...

<resources>
 <dimen name="uno">10dip</dimen>
 <dimen name="dos">6dip</dimen>
 <dimen name="uno_plus_dos">16dip</dimen>
</resources>

<Button 
 android:layout_marginTop="@dimen/uno_plus_dos" />

...そしてそれをこのようなものに変換するのですか?

<Button
 android:layout_marginTop="@dimin/uno + @dimen/dos" />

ベストアンサー1

申し訳ありませんが、そうではありません。レイアウト XML ファイルは式をサポートしていません。次のいずれかを実行してください。

  • そのままにしておく@dimen/uno_plus_dosか、
  • Javaコードでマージンを設定すると、単一のリソースを多数の追加コード行に置き換えることができます。
  • このような式を処理する独自のレイアウトプリプロセッサを作成します。

アップデートデータバインディングライブラリ式の中でいくつかの演算をサポートしています。この特定のシナリオを処理できるかどうかは不明です。

おすすめ記事