<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="@drawable/border_textview"
> ------------------------------------------------------------------ drawable/border_textview: <?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android=" http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle">
<stroke android:width="1dp" android:color="#ff8f8f8f" />
<solid android:color="#ffffff" />
</shape>
</item>
</layer-list> ------------------------------------------------------------------
<EditText
android:id="@+id/usernametv"
android:layout_width="80dp"
android:bufferType="normal"
android:singleLine="true"
android:gravity="center"
android:layout_gravity="center"
android:layout_height="40dp"
android:editable="false"
android:hint="@string/username"
android:background="@null"
android:textSize="17sp"
/>
<EditText
android:id="@+id/rusername"
android:layout_width="200dp"
android:layout_centerHorizontal="true"
android:layout_height="40dp"
android:layout_toRightOf="@id/usernametv"
android:hint="@string/rusername"
android:singleLine="true"
android:textSize="13sp"
android:background="@null"
/>
</RelativeLayout>

在进行Android界面开发的时候,你想给TextView加个边框,找了半天发现没有这个属性,是不是有点蛋疼呢。下面就总结一下有哪些方法能够实现边框效果。

1.嵌套一层,利用内容的margin或者padding的留白加容器的背景来实现边框效果。

其实这个道理很简单,很早的时候那时候我们还用table做html页面布局的时候,我们就是使用cellspacing来实现table的边框的。现在我们也利用同样的想法来实现。

Android下实现边框效果 方案一

其中padding产生留白,就形成类似边框的效果。

    

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

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

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

Android下实现边框效果 方案二

如果你还不了解关于9-patch的内容,请移步。你需要做一个有边框的png图片,使用sdk的tools文件夹下的draw9patch.bat工具,你可以轻松生成9-patch图片。工具用起来很简单。左侧和顶部的线用于扩展重复显示的内容,右侧和底部的线用于控制内容显示的位置。在这里我要先感谢国家,我们现在已经可以自由的访问Android开发者站点。

3.利用shape的stroke来实现边框效果。

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

< xml version="1.0"   encoding="utf-8"   >  

然后你可以引用这个shape作为背景就可以实现边框效果。关于更多关于shape的内容请移步。

最终的效果展示:

当然还有很多其他的变通方法,比如你也可以添加一个view把宽度设置为1dp,作为边框。这个就需要你在实际开发中变通使用了。

本人还是Android开发的小白级人员,如有谬误还请不吝指教。

更多相关文章

  1. ch09 Android(安卓)ListView
  2. android 正三角,倒三角的实现代码
  3. android手势滑动——左右滑动效果实现
  4. Android:自定义view实现动画
  5. Android创建菜单栏(android布局实现)
  6. Android(安卓)复习笔记之图解ContentProvider实现数据共享
  7. Android(安卓)揭露效果兼容低版本
  8. android计算器简单版【安卓进化一】
  9. Android(安卓)ndk 入门5 - opencv实现

随机推荐

  1. Android的消息机制(异步处理)
  2. Android——eclipse共享library以及导出j
  3. 2014.01.13(2) ——— android listview fa
  4. [Android开发常见问题-21] Android(安卓)
  5. Android(安卓)PreferenceActivity的介绍
  6. Android禁止Menu菜单键长按,(Android菜单形
  7. ubuntu下配置Android(安卓)NDK
  8. Android完全退出应用程序的方法
  9. android之socket编程实例
  10. Android(安卓)如何隐藏标题栏和通知栏