怎么给android 设置边框

 我来答
茶达人
2016-01-15 · TA获得超过3048个赞
知道大有可为答主
回答量:3838
采纳率:66%
帮助的人:241万
展开全部
  1. android 设置边框利用内容的margin或者padding的留白加容器的背景来实现边框效果。

  2. shape来实现边框效果

  3. corners是设置边框圆角

  4. stroke是描边的

  5. layer-list实现自由边框

  嵌套一层,利用内容的margin或者padding的留白加容器的背景来实现边框效果。其实这个道理很简单,很早的时候那时候我们还用table做html页面布局的时候,我们就是使用cellspacing来实现table的边框的。现在我们也利用同样的想法来实现。

  当然内部的容器也是需要有颜色的,如果想实现内部透明的效果则需要将内部View的背景色跟背景的颜色保持一致,这是不太方便的地方。


  在Android中,给一个控件(或View)设置背景主要是通过background:xxx属性来完成。background的参数一般来说是一个drawable资源。


  给控件设置边框最简单的方式就是把background设置成你预先设计好的带圆角和边框的背景图。但是这种方法的缺点是没有灵活性,不同大小的view要不同尺寸的图片,还要去适应不同分辨率的设备。


  3使用9-patch(九宫格)的背景图片来实现边框效果。


  做一个有边框的9-patch图片,作为要有边框的View的背景图即可。这样你还可以控制哪边有边框,哪边无边框,这种方法是比较好的一种方法,而且没有多余的View嵌套。另外你还可以实现圆角边框等效果。


  4利用shape来实现边框效果。


  当然你可以使用shape中的stroke来实现border的效果。


  /res/drawable/filename.xml


  只要引用这个shape作为背景图片即可。


  5.layer-list实现自由边框

  当前版本的Android

  SDK并没有给stroke提供bottom、left、right之类的属性,也就是说你无法通过它来让长方形的边框少于4条。于是有人想出了这个方法。


  android:width="1dp"


  android:color="#333"/>


  android:left="1dp"


  android:top="1dp"


  android:right="1dp"


  android:bottom="1dp">


  android:color="#FFF"/>


  在第二个item中定义的top,left...就是对应的边框,不设置即没有边框。

day忘不掉的痛
2015-06-22 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223940
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
如果说给控件或则组件加边框,可以使用自定义背景,其中solid是设置填充的,corners是设置边框圆角的,stroke是描边的。下面贴出一段自定义背景。

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_selected="true"><shape>
<solid android:color="@color/click_clor" />

<stroke android:width="0dp" />

<corners android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" />
</shape></item>
<item android:state_focused="true"><shape>
<solid android:color="@color/click_clor" />

<stroke android:width="0dp" />

<corners android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" />
</shape></item>
<item android:state_pressed="true"><shape>
<solid android:color="@color/click_clor" />

<stroke android:width="0dp" />

<corners android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" />
</shape></item>
<item android:state_enabled="false"><shape>
<solid android:color="@color/top_color" />

<stroke android:width="0dp" />

<corners android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" />
</shape></item>
<item><shape>
<solid android:color="@color/top_color" />

<stroke android:width="0dp" />

<corners android:bottomLeftRadius="6dp" android:bottomRightRadius="6dp" android:topLeftRadius="6dp" android:topRightRadius="6dp" />
</shape></item>

</selector> 将此新建放入drawable文件夹中
使用很简单
直接background="@drawable/文件名"即可
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
厦门侯
高粉答主

2016-01-15 · 信息管理员
厦门侯
采纳数:30618 获赞数:90295

向TA提问 私信TA
展开全部
使用shape,
<solid android:color="#FF6D00"/>(控件的填充颜色)
<stroke android:width="2dp"
android:color="#FF6D00"/>(边框的宽度以及颜色)
<corners android:radius="3dp"/>(边框的角的弧度)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式