Android实现文字下方加横线

本文实例为大家分享了Android实现文字下方加横线的具体代码,供大家参考,具体内容如下

public class WhiteTextviewWithWhiteBottomLine extends LinearLayout {

 private Context mContext;

 public WhiteTextviewWithWhiteBottomLine(Context context) {
  this(context, null);
 }

 public WhiteTextviewWithWhiteBottomLine(Context context, @Nullable AttributeSet attrs) {
  this(context, attrs, 0);
 }

 public WhiteTextviewWithWhiteBottomLine(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
  super(context, attrs, defStyleAttr);
  mContext = context;
  initViews();
 }

 private TextView textView;
 private View viewLine;

 private void initViews() {
  View view = View.inflate(mContext, R.layout.view_textview_with_bottom_line, null);

  textView = view.findViewById(R.id.tv_view_textview_with_line);
  viewLine = view.findViewById(R.id.view_view_textview_with_line);

  this.addView(view);

  setSelected(false);
 }

 public void setTextViewText(String s) {
  textView.setText(s);
 }

 public void setLineColor(@ColorInt int color) {
  viewLine.setBackgroundColor(color);
 }

 public void setSelected(boolean isSelected) {

  if (isSelected) {
   viewLine.setVisibility(VISIBLE);
  } else {
   viewLine.setVisibility(GONE);
  }
 }

 public boolean isSelected() {
  if (viewLine.getVisibility() == View.VISIBLE) {
   return true;
  }else {
   return false;
  }
 }
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical">

 <LinearLayout
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:gravity="center"
  android:orientation="vertical">

  <TextView
   android:id="@+id/tv_view_textview_with_line"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:gravity="center"
   android:padding="10dp"
   android:text="测试"
   android:textColor="@color/white"
   android:textSize="12sp" />

  <View
   android:id="@+id/view_view_textview_with_line"
   android:layout_width="30dp"
   android:layout_height="1dp"
   android:layout_gravity="center_horizontal"
   android:background="@color/white" />

 </LinearLayout>

</LinearLayout>

如果想改变文字、线的颜色这些,直接修改布局文件中的内容。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2020-07-23

Android TextView控件文字添加下划线的实现方法

如下所示: TextView tv = (TextView) findViewById(R.id.text); tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); tv.setText("添加下划线"); 以上就是小编为大家带来的Android TextView控件文字添加下划线的实现方法的全部内容了,希望对大家有所帮助,多多支持我们~

Android文字基线Baseline算法的使用讲解

引言 Baseline是文字绘制时所参照的基准线,只有先确定了Baseline的位置,我们才能准确的将文字绘制在我们想要的位置上.Baseline的概念在我们使用TextView等系统控件直接设置文字内容时是用不到的,但是如果我们想要在Canvas画布上面绘制文字时,Baseline的概念就必不可少了. 我们先了解一下Android中Canvas画布绘制文字的方法,如下图: 参数示意: text,文字内容 x,文字从画布上开始绘制的x坐标(Canvas是一个原点在左上角的平面坐标系) y,Bas

Android 常见的四种对话框实例讲解

1.对话框通知(Dialog Notification) 当你的应用需要显示一个进度条或需要用户对信息进行确认时,可以使用对话框来完成. 下面代码将打开一个如图所示的对话框: public void click1(View view) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("工学1号馆"); builder.setIcon(R.drawable.ic_launcher); builder.

对python数据切割归并算法的实例讲解

当一个 .txt 文件的数据过于庞大,此时想要对数据进行排序就需要先将数据进行切割,然后通过归并排序,最终实现对整体数据的排序.要实现这个过程我们需要进行以下几步:获取总数据行数:根据行数按照自己的需要对数据进行切割:对每组数据进行排序 最后对所有数据进行归并排序. 下面我们就来实现这整个过程: 一:获取总数据的行 def get_file_lines(file_path): # 目标文件的路径 file_path = str(file_path) with open(file_path, 'r

android底层去掉虚拟按键的实例讲解

找到framework/base/core/res/res/values/dimens.xml,在其中把Navigation的配置改成0 <!-- Height of the bottom navigation / system bar. --> <dimen name="navigation_bar_height">0dp</dimen> <!-- Height of the bottom navigation bar in portrait

android广角相机畸变校正算法和实现示例

1.光学相机镜头一般都存在畸变的问题,畸变属于成像的几何失真,它是由于焦平面上不同区域对影像的放大率不同而形成的画面扭曲变形现象.除了一些特定的场合,大部分情况下,这些失真都是需要校正到正常人眼不产生扭曲的程度. 2常见的畸变是枕形畸变,桶形畸变和线性畸变.广角镜头的摄像设备拍摄出来的图像经常会有桶形畸变的问题.原因在于广角镜头使用的是凸透镜,初中物理知识告诉我们凸透镜会对光线起汇聚作用,这是光的折射造成的.而离镜头中心越远,折射效果越强,因而其拍出来的照片会以镜头中心为圆心,呈圆形向外扩展失真

android文字描边功能的实现

这里也要简单说一下,这些小模块并不是我原创,也是当时查资料找到的,由于时间比较久,原文链接已经忘记了,所以这里就不列出引用链接了.不过这些代码我都修改.完善过,也添加了一些注释,希望对大家有帮助. 文字描边这个功能挺实用的,如果是单一背景下显示文字,文字描边也可起到装饰作用.如果是复杂背景下,尤其是在不同图片背景下显示文字,因为文字颜色很容易和图片背景相似,这样导致文字看不清楚,用户体验不佳.如果文字经过不同颜色描边后,文字轮廓部分一种颜色,文字内部另一种颜色,因为一般情况下,图片要么和文字轮廓

Android应用开发的一般文件组织结构讲解

认识Android编程各个文件之间的联系和使用方法,以及认识Activity文件结构的大体可以看下图: 代码在src中的.java文件中编辑,gen目录下有一个R.java的文件,这个文件存储res目录下各种资源文件的id号,在主文件java中调用该资源的时候直接调用id号即可,如 R.layout.main ,这个条目得打开R.java文件中查看,"R"对应R.java文件,"layout"对应R.java文件中的layout类,"main"对

C语言中实现KMP算法的实例讲解

一般的算法为什么这么低效呢?那是因为主串指针回溯情况过多: 主串指针如果不回溯的话,速度就会加快,那我们就会想: 如何让主串指针不回溯? KMP算法就是解决了这个问题,所以速度变得更快速了. 它是这样子的: 用一个数组:next[] 求得失配时的位置,然后保存下来. 要说清楚KMP算法,可以从朴素的模式匹配算法说起.  朴素的模式匹配算法比较容易理解,其实现如下 int Index(char s[], char p[], int pos) { int i, j, slen, plen; i =

Android判断用户的网络类型实例讲解(2/3/4G、wifi)

很多时候需要先判断当前用户的网络,才会继续之后的一些处理逻辑.但网络类型获取这一块,我用我自己的的手机调试时遇到一些问题,这里记录一下. 一加手机一代,移动4G 网络,得到的subtype类型值为17,我查过Android 5.1的源码,它最大的值也就为16. 我拿魅族的移动4G测试的结果如下: 小米4,电信4G的测试结果如下: 魅族MX4,联通3G 还测试了其它华为移动3G/4G的情况,就我自己的手机一加返回的值有点奇怪,之后我查了一下它的参数: 当然,其它厂商:华为.小米.魅族与上面显示的网

Android 断点续传的原理剖析与实例讲解

本文所要讲的是Android断点续传的内容,以实例的形式进行了详细介绍.   一.断点续传的原理 其实断点续传的原理很简单,就是在http的请求上和一般的下载有所不同而已. 打个比方,浏览器请求服务器上的一个文时,所发出的请求如下: 假设服务器域名为www.jizhuomi.com/android,文件名为down.zip. get /down.zip http/1.1 accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, ap