我有一个Imageview设置与白色背景和1dp填充,这创build了一个边界般的效果,这是通缉的结果。
现在,如果将scaleType设置为centerCrop,则会忽略顶部和底部的填充。
所以我仍然在左侧和右侧有我的边界,但不在顶部和底部。
任何人有一个想法,阻止这种情况发生? 或者另一个快速的方法来创build一个图像边框。 我用它来定制gridview
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="#FFFFFF" android:contentDescription="@string/test" android:padding="1dp" android:src="@drawable/some_photo" android:scaleType="centerCrop" />
我刚刚遇到同样的问题,我的解决方法将添加android:layout_marginRight =“5dip”
<ImageView android:layout_width="40dp" android:layout_height="30dp" android:background="#ffffffff" android:src="@drawable/liveview_logo" android:layout_marginRight="5dip"/>
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:contentDescription="@string/test" android:padding="1dp" android:src="@drawable/some_photo" android:cropToPadding="true" android:scaleType="centerCrop" />
你只需要添加android:cropToPadding
机器人:cropToPadding = “真”
然后imageView将尊重您select的填充。
你可以通过设置android:background="@drawable/edit_border"
而你的edit_border:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="2dp" android:color="#EBDDE2" /> <padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="4dp" /> <gradient android:centerColor="@color/white" android:endColor="@color/white" android:startColor="@color/white" /> <corners android:radius="8dp" /> </shape>
@Manolo加西亚的答案是正确的。 这帮助我在使用边框,缩放types中心裁剪和填充dynamic图像查看。
final ImageView imageView = new ImageView(context); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(200,200); lp.setMargins(0, 0, 10, 0); imageView.setLayoutParams(lp); imageView.setAdjustViewBounds(true); imageView.setCropToPadding(true); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setBackgroundResource(R.drawable.img_blue_border); imageView.setPadding(5, 5, 5, 5);