私は別のレイアウトを含むLinearLayoutを持っています。この"included"レイアウトのマージンをプログラム的に変更する方法
<LinearLayout
android:id="@+id/linear_layout"
android:layout_width="match_parent"
android:layout_height="20dp"
android:visibility="gone"
tools:visibility="visible">
<include
layout="@layout/new_layout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginBottom="4dp"
android:layout_marginLeft="4dp"
android:layout_marginStart="4dp"
android:layout_weight="1"/>
</LinearLayout>
のようなものは、今、私がやりたいものをプログラム的に含まれるレイアウト(new_layout)の「marginBottom」を変更すること、です。どうやってやるの?
私はさまざまなLayoutParamsを呼び出して、マージンを変更しようとしましたが、正しいアプローチであるかどうかはわかりません。どんな助けでも大歓迎です。
おかげ
は「を含みます。xml 'はRelativeLayoutです。 RelativeLayoutでLayoutParamsを取得しようとすると、ClassCastExceptionが返されます。そこでLinearLayoutに切り替え、ViewGroupをLinearLayoutにキャストできません。あらゆる種類の奇妙なエラー:/ – user2453055