如何更改 layout:alignEnd,以编程方式对齐组件属性
How to change layout:alignEnd, alignComponent attributes programatically
我有2张图片,一张站在另一张后面,是黄色背景,突出20dp,它是一个框架。前图为主图
单击时,我希望主图像显示在 "yellow frame" 的中央。
<ImageView
android:id="@+id/yellow_bkg"
android:background="#ffe467"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
/>
<ImageView
android:id="@+id/card"
android:background="@drawable/card"
android:layout_alignRight="@+id/border" //how to change this in code?
android:layout_alignEnd="@+id/border"//how to change this in code?
android:layout_margin="20dp" />
但效果应该在代码中发生,即当我单击或触摸卡片图像视图时动态发生。
您可以使用 LayoutParams 来做到这一点!
ImageView card = (ImageView) findViewById(R.id.card);
既然你有
android:layout_alignRight="@+id/border"
android:layout_alignEnd="@+id/border"
我假设您在 RelativeLayout 中
RelativeLayout.LayoutParams layoutParams;
layoutParams = new RelativeLayout.LayoutParams(width, height);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
并在您的图像视图中 onClickListner
card.setLayoutParams(layoutParams);
我有2张图片,一张站在另一张后面,是黄色背景,突出20dp,它是一个框架。前图为主图
单击时,我希望主图像显示在 "yellow frame" 的中央。
<ImageView
android:id="@+id/yellow_bkg"
android:background="#ffe467"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
/>
<ImageView
android:id="@+id/card"
android:background="@drawable/card"
android:layout_alignRight="@+id/border" //how to change this in code?
android:layout_alignEnd="@+id/border"//how to change this in code?
android:layout_margin="20dp" />
但效果应该在代码中发生,即当我单击或触摸卡片图像视图时动态发生。
您可以使用 LayoutParams 来做到这一点!
ImageView card = (ImageView) findViewById(R.id.card);
既然你有
android:layout_alignRight="@+id/border"
android:layout_alignEnd="@+id/border"
我假设您在 RelativeLayout 中
RelativeLayout.LayoutParams layoutParams;
layoutParams = new RelativeLayout.LayoutParams(width, height);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
并在您的图像视图中 onClickListner
card.setLayoutParams(layoutParams);