我有两个图像视图,我想在用户点击它们时创建一个类似边框的效果。 我已将两个图像视图的背景设置为颜色。现在,当用户点击图像时,我在imageview上设置了一些填充,以便创建一个类似边框的效果。但不幸的是,它没有发生。
这是我的java代码:
public void imageClick(View view)
{
switch(view.getId())
{
case (R.id.imageView1):
image1.setPadding(10,10,10,10);
image2.setPadding(0,0,0,0);
break;
case (R.id.imageView2):
image1.setPadding(0,0,0,0);
image2.setPadding(10,10,10,10);
break;
}
}
我无法理解为什么单击图像时没有发生任何事情。我试过了两个
android:cropToPadding = "true"
和
android:cropToPadding = "false"
但同样没有结果。
我对imageViews的xml代码:
<ImageView
android:layout_width="0dp"
android:id="@+id/imageRegion1"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="imageClick"
android:cropToPadding="false"
android:background="#fffff300" />
<ImageView
android:id="@+id/imageRegion2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="imageClick"
android:cropToPadding="false"
android:background="#fffff300" />
我通过以下方式动态设置图像视图:
image1.setImageBitmap(bitmap1);
image2.setImageBitmap(bitmap2);
答案 0 :(得分:0)
因为看起来你最有可能使用weightSum&amp; layout_weight机制可以平等或合理地计算imageview的宽度。
如果我就在这里,在这种情况下,当您设置填充时,它不会对已经膨胀的视图进行任何更改。正如您所料,设置填充值会降低宽度和宽度。高度。但事实并非如此。因为,由于权重计算,它将采用先前的宽度/高度值,因此将忽略填充。
我希望这可以帮助您解决问题。
答案 1 :(得分:0)
<LinearLayout
android:id="@+id/row_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="visible" >
<ImageView
android:id="@+id/imageRegion1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="#fffff300"
android:cropToPadding="false"
android:onClick="imageClick" />
<ImageView
android:id="@+id/imageRegion2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="#fffff300"
android:cropToPadding="false"
android:onClick="imageClick" />
</LinearLayout>
我试过上面这个。对我来说工作正常。再次