Android 剪裁图层列表中平铺位图的角点
我希望完成一些看起来像这里底部的东西(对于所有四个角,但我只有图像的底部向您展示): 到目前为止,我所拥有的:Android 剪裁图层列表中平铺位图的角点,android,android-resources,layer-list,Android,Android Resources,Layer List,我希望完成一些看起来像这里底部的东西(对于所有四个角,但我只有图像的底部向您展示): 到目前为止,我所拥有的: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/orange_tile
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/orange_tile"
android:tileMode="repeat"
android:dither="true"
android:gravity="center" />
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="2dp"/>
<stroke android:color="@color/white" android:width="0.5dp" />
</shape>
</item>
</layer-list>
但是,根据预览,每个角落都有少量像素:
那么,如何剪裁这些角?可见的笔划不是它,也不是真正想要的
尝试过的事情: 添加一个固体的项目提供了完美的相反我想要的。可能有一个掩蔽技巧
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/orange_tile"
android:tileMode="repeat"
android:dither="true"
android:gravity="center" />
</item>
<item>
<shape android:shape="rectangle">
<color android:color="@color/white" />
<corners android:radius="2dp"/>
<stroke android:color="@color/white" android:width="0.5dp" />
</shape>
</item>
</layer-list>
瓷砖:
我可以想出几个选择
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/orange_tile"
android:tileMode="repeat"
android:dither="true"
android:gravity="center" />
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="2dp"/>
<stroke android:color="@color/white" android:width="0.5dp"/>
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="0dp"/>
<stroke android:color="@color/white" android:width="0.5dp"/>
</shape>
</item>
</layer-list>
是否要剪裁/删除橙色图像背景?对吗?你能不能也提供“橙色瓷砖”的绘图工具?@jiteshmohite我想去掉背景的角落tile@jiteshmohite添加了瓷砖。选项3不是每一个瓷砖都要轮换吗?选项1和2还有其他的副作用,打破了我的(未发布的)要求。这不能怪你,完全是我的错。我认为你可以在第三种方法中使用基于可在android上绘制的平铺xml的位图:tileMode=“repeat”。我很抱歉我处理得不恰当。我们在接近项目结束的时候有点死气沉沉,我无法完全验证这一点,我们还改变了布局以避免这个问题。我仍然觉得你的时间和解决方案应该得到回报,但我还没有尝试最后的方法。非常感谢。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/icon_bg"
android:tileMode="repeat"
android:dither="true"
android:gravity="center" />
</item>
<item android:top="-1.5dp" android:bottom="-1.5dp"
android:left="-1.5dp" android:right="-1.5dp"
>
<shape android:shape="rectangle">
<corners android:radius="2dp"/>
<stroke android:color="@color/white" android:width="1.5dp"/>
</shape>
</item>
</layer-list>
float cornerRadius = 2f * Resources.getSystem().getDisplayMetrics().density;
Bitmap tileBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.orange_tile);
RoundedBitmapDrawable roundedTileDrawable =
RoundedBitmapDrawableFactory.create(getResources(), tileBitmap);
roundedTileDrawable.setCornerRadius(cornerRadius);