我正在尝试为具有圆角图像的LinearLayout创建背景。我已经看到很多例子如何做到但不完全是我想要的。在大多数情况下,我看到人们使用填充来创建它,但是当我这样做时它绘制了一种边框,我不想要任何边框,只是圆角
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape>
<corners android:topLeftRadius="20dp" android:topRightRadius="20dp"/>
</shape>
</item>
<item >
<bitmap android:src="@drawable/header"/>
</item>
</layer-list>
答案 0 :(得分:3)
Romain Guy的圆角图片
使用Canvas.drawRoundRect()绘制圆角矩形的自定义Drawable。诀窍是使用带有BitmapShader的Paint用纹理而不是简单的颜色填充圆角矩形。
http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
样本可以下载@ https://docs.google.com/file/d/0B3dxhm5xm1sia2NfM3VKTXNjUnc/edit?pli=1
这是另一个链接
How to make an ImageView with rounded corners?
另一个链接
public class ImageHelper {
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = pixels;
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
}
答案 1 :(得分:2)
您可以尝试使用ImageView
。在图像视图集
android:src="@drawable/yourimage"
android:background="@drawable/cornershape"
现在使用FrameLayout
中的图片视图。以便其他布局可以放在ImageView
答案 2 :(得分:1)
我使用了这个博客的一个例子,这帮助了我。 希望这对你有用
http://manishkpr.webheavens.com/android-rounded-corner-image-bitmap-example/
答案 3 :(得分:1)
您只需使用Android支持资源库v4中的DroppedDown
即可。您只需创建一个实例并设置角半径:
type Exception report
message java.lang.ClassNotFoundException: org.apache.jsp.lista_002dcontato_002ddisplay_jsp
description The se
rver encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.lista_002dcontato_002ddisplay_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:176) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause
java.lang.ClassNotFoundException: org.apache.jsp.lista_002dcontato_002ddisplay_jsp java.net.URLClassLoader.findClass(Unknown Source) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
答案 4 :(得分:1)
您可以在下面进行以下操作: 在依赖中发挥作用
=HYPERLINK(E2&F2&G2&H2,"Click Here"
在您的xml文件上
implementation 'com.makeramen:roundedimageview:2.3.0'
答案 5 :(得分:0)
我遇到了同样的问题,我只是在Photoshop中创建了带有圆角的图像。这不是涉及代码或可绘制对象的答案。
上述关于库'com.makeramen:roundedimageview:2.3.0'的建议对我不起作用,因为我实际上想将相对布局的背景设置为带有圆角的图像。
使用cardview无效,也没有使用图像作为相对布局中的第一个视图并操纵角的圆度。
在photoshop中创建圆角就可以了。