如何给ImageView加边框

 我来答
育知同创教育
2018-07-31 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
建议使用ImageButton,因为这厮本来就是两重图片的:前景和背景,然后把背景(或者是前景)设成这个边框图片,然后另一个设成要显示的图片就是了。
星月小木木
推荐于2016-07-23 · TA获得超过3.2万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9354万
展开全部
package shadow.widget;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.ImageView;

public class myImageView extends ImageView {

private String namespace="http://shadow.com";
private int color;

public myImageView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
color=Color.parseColor(attrs.getAttributeValue(namespace, "BorderColor"));
}

/* (non-Javadoc)
* @see android.widget.ImageView#onDraw(android.graphics.Canvas)
*/
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub

super.onDraw(canvas);
//画边框
Rect rec=canvas.getClipBounds();
rec.bottom--;
rec.right--;
Paint paint=new Paint();
paint.setColor(color);
paint.setStyle(Paint.Style.STROKE);
canvas.drawRect(rec, paint);
}
这里要注意的是super.onDraw(canvas);在前,否则边框可能会被图片所覆盖。
xml写法
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:shadow="http://shadow.com"
android:background="@drawable/bg_newslist"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout android:id="@id/LinerLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<shadow.widget.myImageView
android:id="@id/newsitemPicWithBorder"
shadow:BorderColor="GRAY"
android:layout_width="80px"
android:layout_height="60px"
android:layout_alignParentRight="true"
android:src="@drawable/image_loading"
android:layout_centerInParent="true"
android:layout_marginRight="3px"
></shadow.widget.myImageView>

</LinearLayout>
设置边框颜色 shadow:BorderColor="GRAY"

myImageView imageView=(myImageView)findViewById(....);

imageView.set....//给imageView赋值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WinerAll
2015-12-23 · TA获得超过178个赞
知道答主
回答量:116
采纳率:50%
帮助的人:22.2万
展开全部
padding
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式