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>

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

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

(0)

相关推荐

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

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

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

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

  • Android实现文字下方加横线

    本文实例为大家分享了Android实现文字下方加横线的具体代码,供大家参考,具体内容如下 public class WhiteTextviewWithWhiteBottomLine extends LinearLayout { private Context mContext; public WhiteTextviewWithWhiteBottomLine(Context context) { this(context, null); } public WhiteTextviewWithWhit

  • Android自定义实现图片加文字功能

    Android自定义实现图片加文字功能 分四步来写: 1,组合控件的xml; 2,自定义组合控件的属性; 3,自定义继承组合布局的class类,实现带两参数的构造器; 4,在xml中展示组合控件. 具体实现过程: 一.组合控件的xml 我接触的有两种方式,一种是普通的Activity的xml:一种是父节点为merge的xml.我项目中用的是第一种,但个人感觉第二种好,因为第一种多了相对或者绝对布局层. 我写的 custom_pictext.xml <?xml version="1.0&qu

  • Android 开发中根据搜索内容实现TextView中的文字部分加粗

    实现方式没有引入任何依赖,轻量级实现需求效果 最近遇到一个需求,需要做一个搜索功能.搜索的内容需要加粗显示. 完成了这个功能后,写下此博客,记录一下实现过程 效果图 首先自定义一个StyleSpan,在StyleSpan里做加粗的等匹配状态的设置 @SuppressLint("ParcelCreator") public class SearchStyleSpan extends StyleSpan { public SearchStyleSpan(int style) { super

  • Android RecyclerView 上拉加载更多及下拉刷新功能的实现方法

    RecyclerView 已经出来很久了,但是在项目中之前都使用的是ListView,最近新的项目上了都大量的使用了RecycleView.尤其是瀑布流的下拉刷新,网上吧啦吧啦没有合适的自己总结了一哈. 先贴图上来看看: 使用RecyclerView实现上拉加载更多和下拉刷新的功能我自己有两种方式: 1.使用系统自带的Android.support.v4.widget.SwipeRefreshLayout这个控价来实现. 2.自定义的里面带有RecyleView的控件. 使用RecycleVie

  • Android实现文字翻转动画的效果

    本文实现了Android程序文字翻转动画的小程序,具体代码如下: 先上效果图如下: 要求: 沿Y轴正方向看,数值减1时动画逆时针旋转,数值加1时动画顺时针旋转. 实现动画的具体细节见"RotateAnimation.Java".为方便查看动画旋转方向,可以将RotateAnimation.DEBUG值设置为true即可.
 RotateAnimation参考自APIDemos的Rotate3DAnimation
 RotateAnimation的构造函数需有三个参数,分别说明动画组件的

  • android监听View加载完成的示例讲解

    最近项目中需要实现一个GridView显示6*5=30项,并铺满整个界面,界面中还有自定义ActionBar等其他控件,所以需要获取剩下屏幕的高度.通过百度得知View有一个监听函数,亲测使用有效,特此记录,方便日后查阅. gv_test.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayo

  • Android自定义Dialog实现加载对话框效果

    前言 最近开发中用到许多对话框,之前都是在外面的代码中创建AlertDialog并设置自定义布局实现常见的对话框,诸如更新提示等含有取消和删除两个按钮的对话框我们可以通过代码创建一个AlertDialog并通过它暴露的一系列方法设置我们自定义的布局和style,但有时候系统的AlertDialog并不能实现更好的定制,这时,我们就想到了自定义Dialog.通过查看AlertDialog的类结构发现它也是继承于Dialog,于是我们也可以通过继承Dialog实现我们自定义的Dialog.这篇文章将

  • Android实现笑脸进度加载动画

    最近看到豆瓣的笑脸loading很有意思,看一张效果图: 下面分析一下如何实现这样的效果: 1.默认状态是一张笑脸的状态(一个嘴巴,两个眼睛,默认状态) 2.开始旋转,嘴巴追上眼睛(合并状态) 3.追上以后自转一周(自转状态) 4.然后逐渐释放眼睛(分离状态) 5.回到初始笑脸状态(默认状态) 一.默认状态 首先需要确定好嘴巴和眼睛的初始位置,我这里的初始化嘴巴是一个半圆,在横轴下方.眼睛分别与横轴夹角60度,如下图: 这两部分可以使用pathMeasure,我这里使用最简单的两个api:can

  • Android实现简单的加载进度条

    本文实例为大家分享了Android实现简单的加载进度条的具体代码,供大家参考,具体内容如下 1.效果图 2.自定义progressBar package com.example.myapplication7; import android.animation.ValueAnimator; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; im

  • Android 实现文字左右对齐

    这里会涉及到实现原理的解析,如果只是需要使用轮子,请拉到最底下: 1. TextView 效果 首先,让我们先来看一下TextView的显示效果: 中文情况下还好,但是英文情况下的显示效果就不是很好看了,右边会留了很长的空白,对于追求用户体验的,这样的显示效果肯定是不能满足的:但是TextView内部也没有提供API给我们,那么就只能自己来实现了: 2. 对齐原理 原理:将一行剩余的宽度平分给当前单词的间距,这样来达到左右对齐的效果: 那么我们就有两种实现方案: (1)TextView绘制一行的

随机推荐