输入框背景不失真的方法(自己用到过的)

  如果能让用户输入很多内容,并且是换行的形式,那可能就可考虑不让输入框背景失真的方法,尤其是圆角的图。

  以前一直用的方法是用Android自带的9-patch工具对背景图进行修改,这样可以确保角落的圆角不失真。但是这次的工程中,设计的图是左右的边框是虚线。在使用9-patch后,左右两边的线明显失真。今天在同事的交流中,找到另一种方法,试了一下,觉得还是可行的。也记录一下,以后可以用得到。

  把一个输入框的背景分成上,中,下三部分,中间那个部分的图可以尽量地小,但要把基本的图片元素显示包含进来。三者可以用LinearLayout拼接在一起。接下来要做的就是重点了,步骤如下:

  1.在drawable包下,新建一个XML文件,例,命名为repeat_bg.xml,写的内容为:

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

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"  android:src="@drawable/bg"
android:tileMode="repeat" />

这个bg文件就是中间部分的背景图。

  2.在布局文件中像使用一般地图片一样使用这个repeat_bg文件。即写为:

<LinearLayout android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:background="@drawable/repeat_bg"> </LinearLayout> 

  在实际应用中,就是把它用到中间部分的布局背景里。

  
  但是第二种方法可能会存在一点问题,可能文字的最后一行只需要一半的背景图空间,这样也会造成最后一图片的失真。其次,还要跟UI合作好,这样才能达到目的。

  不过最好避免失真的办法,还是不去做类似于虚线的边框,直接用实线的边框,就可以用9-patch实现对失真的防止了。

转载于:https://www.cnblogs.com/peterzd/archive/2012/04/05/2433838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值