Android怎么让TextView的边框只有左,上和底部

Android怎么让TextView的边框只有左,上和底部,第1张

可以自定义边框的,设置textview的背景就行了。有下面两种方法

自己弄一张.9图,只有需求的三个边,然后backgroud设置为该图片;

自己写个xml的drawable,同样只弄需要的三个边,同样设置为background;

这是比较常用的两个方式吧。

主要有三种方式可以实现:

带有边框的透明图片

使用xml的shape设置

继承TextView覆写onDraw方法。

方法一:

带有透明图片的背景图,只要设置background="#00000"就可以了。

方法二:

通过shape来设置背景图片

首先一个textview_border.xml文件放在drawable文件夹里面

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

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

<solid android:color="#ffffff" />

<stroke android:width="1dip" android:color="#4fa5d5"/>

</shape>

为要添加边框的TextView添加一个background

android:background="@drawable/textview_border"

方法三:

编写一个继承TextView类的自定义组件,并在onDraw事件方法中画边框。

package com.example.test

import android.annotation.SuppressLint

import android.content.Context

import android.graphics.Canvas

import android.graphics.Paint

import android.util.AttributeSet

import android.widget.TextView

@SuppressLint("DrawAllocation")

public class BorderTextView extends TextView{

public BorderTextView(Context context) {

super(context)

}

public BorderTextView(Context context, AttributeSet attrs) {

super(context, attrs)

}

private int sroke_width = 1

@Override

protected void onDraw(Canvas canvas) {

Paint paint = new Paint()

//  将边框设为黑色

paint.setColor(android.graphics.Color.BLACK)

//  画TextView的4个边

canvas.drawLine(0, 0, this.getWidth() - sroke_width, 0, paint)

canvas.drawLine(0, 0, 0, this.getHeight() - sroke_width, paint)

canvas.drawLine(this.getWidth() - sroke_width, 0, this.getWidth() - sroke_width, this.getHeight() - sroke_width, paint)

canvas.drawLine(0, this.getHeight() - sroke_width, this.getWidth() - sroke_width, this.getHeight() - sroke_width, paint)

super.onDraw(canvas)

}

}

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

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>

<shape

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

android:shape="rectangle">

<solid

android:color="#00000000"/>

<corners

android:bottomRightRadius="5dip"

android:bottomLeftRadius="5dip"

android:topLeftRadius="5dip"

android:topRightRadius="5dip"/>

<stroke

android:width="0.5px"

android:color="#505050"/>

</shape>

</item>

</layer-list>

在drawable文件夹中新建一个这样的border_style.xml的文件,然后在你想要修改的组件中添加android:background="@drawable/text_border"。我写的这个xml文件就是一个圆角边框的样式,你可以根据自己需要修改里面的参数。

手工编辑,望采纳!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11133956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存