Android自定义TextView仿微信朋友圈文字信息,展开全文功能

代码及注释如下:

首先写一个xml文件 showmore.xml:

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/content"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="16sp"

android:maxLines="3"

android:ellipsize="end"/>

android:id="@+id/hide_show"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/btn_showmore"

android:textColor="@color/colorBlue"

android:textSize="16sp"

android:text="显示更多"

android:padding="0dp"

/>

//新建java类继承自LinearLayout

public class ShowMoreTextView extends LinearLayout {

// 用来标记是否为展开状态

private int hideOrShow = 0;

private TextView textView;

private TextView button;

public ShowMoreTextView(Context context) {

super(context);

}

public ShowMoreTextView(Context context, AttributeSet attrs) {

super(context, attrs);

// 实例化layoutInflater对象,获取到布局填充服务

LayoutInflater layoutInflater = (LayoutInflater)context.

getSystemService(Context.LAYOUT_INFLATER_SERVICE);

// 填充自定义的布局xml文件

layoutInflater.inflate(R.layout.showmore,this);

textView = (TextView)findViewById(R.id.content);

button=(TextView) findViewById(R.id.hide_show);

button.setText("显示更多");

// 隐藏或显示

hideOrShow();

}

// 创建setContent方法为TextView填充内容

public void setContent(String content) {

textView.setText(content);

}

public void hideOrShow() {

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//由hideOrShow的值确定按钮和textview的状态

if (hideOrShow == 0) {

button.setText("收起");

textView.setMaxLines(100);

hideOrShow = 2;

}else if(hideOrShow==2){

button.setText("显示更多");

textView.setMaxLines(3);

hideOrShow = 1;

}else if(hideOrShow==1){

button.setText("收起");

textView.setMaxLines(100);

hideOrShow=2;

}

}

});

}

}

接下来就可以引用了,与普通的控件一样 activity_test.xml:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.commy.activity.TestActivity">

android:id="@+id/showmore"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

测试类:

public class TestActivity extends AppCompatActivity {

private ShowMoreTextView showMoreTextView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_test);

showMoreTextView=(ShowMoreTextView)findViewById(R.id.showmore);

showMoreTextView.setContent("

There is so much life

I've left to live

And this fire's burning still

When I watch you look at me

I think I could find a way

To stand for every dream

And forsake this solid ground

And give up this fear within

Of what would happen if they end you

I'm in love with you

");

}

}

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

android 微信朋友圈 全功能,Android自定义TextView仿微信朋友圈文字展开全文功能相关推荐

  1. android 微信朋友圈 全功能,Android仿微信朋友圈文字展开全文功能 Android自定义TextView仿微信朋友圈文字展开全文功能...

    Android自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: android:orientation="vert ...

  2. 自定义控件 仿微信朋友圈文字展开全文功能

    自定义TextView仿微信朋友圈文字信息,展开全文功能 代码及注释如下: 首先写一个xml文件 showmore.xml: <?xml version="1.0" enco ...

  3. 仿微信朋友圈,文字展开全文,全文收起功能

    简单操作4步即可实现文字展开收起功能: 1.布局写2个Textview 一个是内容 一个是按钮(收起和全文) <TextView android:layout_marginTop="@ ...

  4. Android自定义Textview 蒙语显示(蒙古文字)

    Android自定义Textview 蒙语显示(蒙古文字) 竖排Textview 自动换行 从左到右 蒙语字体包 demo下载地址 https://download.csdn.net/download ...

  5. H5版仿制微信跳一跳小游戏,网页版仿微信跳一跳小游戏源码,实现了跳一跳的基本核心功能

    H5版仿制微信跳一跳小游戏,网页版仿微信跳一跳小游戏源码,实现了跳一跳的基本核心功能 完整代码下载地址:H5版仿制微信跳一跳小游戏,网页版仿微信跳一跳小游戏源码 运行截图 Project setup ...

  6. 查看全文的css,如何通过纯CSS实现“点击展开全文”功能

    看标题大家不难猜到我今天要实现的功能,正如你打开 HTML代码 这是前端开发博客的正文 点击展开全文 将上述代码加入到 single.php 文件里面,按钮一般命名为"点击展开全文" ...

  7. 百度白皮书5.0解读如何合理设置展开全文功能

    导读:2020年3月,百度发布了<百度APP移动搜索落地页体验白皮书5.0>.白皮书5.0发布后,收到许多开发者关于体验规范的反馈建议,针对开发者集中关心的规范问题,百度搜索将推出白皮书5 ...

  8. android旋转不重绘,Android自定义view仿微信刷新旋转小风车

    本文实例为大家分享了Android仿微信刷新旋转小风车 具体代码,供大家参考,具体内容如下 不太会录像,没办法,智能截图了 不多说了,直接上代码 package com.shipneg.demoysp ...

  9. Android 自定义View 仿微信好友,字母排序

    一 :具体说下思路(注意:一下代码如果没有显示则访问     https://www.jianshu.com/p/2da89b56871f   ) 1 :整体用到的控件,list view(recyc ...

最新文章

  1. 循环神经网络(RNN, Recurrent Neural Networks)——无非引入了环,解决时间序列问题...
  2. 物理DG主备库切换时遇到ORA-16139: media recovery required错误
  3. python定时任务_Python定时任务(上)
  4. 对号入座:大学助教、讲师、副教授、教授图鉴
  5. java session 详解
  6. 吐槽安卓系统体验差用户 这次啪啪啪打脸了
  7. python ppt表格样式展示
  8. 诺基亚N1 WIFI感叹号消除
  9. git报错:Reinitialized existing Git repository in ...解决方法
  10. 车牌号正则表达式(含新能源车牌)
  11. 爬虫系列——做爬虫必备:各大网站蜘蛛UA
  12. Java 响应对象详解
  13. 用 SQL 分析不同用户群组留存率
  14. ✿2021NEWCTF6.1萌新赛✿MISC-all-WP
  15. 华大单片机如何实现软件复位重启
  16. java urlencoder 特殊_java URLEncoder 中特殊处理
  17. 如何新建桌面便签、任务列表、个人日历记事
  18. MySQL数据库,SQL语句,以及如何操作MySQL数据库
  19. 机器学习之爱情动作片(k值法)
  20. 误操作,U盘被dispart命令删除分区了怎么恢复?

热门文章

  1. 如何追一个女生?想让女生倒追你,就好好学习这四点
  2. 建立任务,OSTaskCreate()
  3. java 画正方体直观图_根据给出的空间几何体的三视图,用斜二侧画法画出它的直观图.正视图侧视图俯视图...
  4. Linux驱动开发 (面试常见问题整理)
  5. 正则中文逗号转英文逗号
  6. 安装grub引导的ttylinux
  7. Windows局域网渗透(IPC$管道)
  8. EasyRTMP:RTMP推流海康威视实时预览回调PS流用EasyRTMP向RTMP服务器推流中视频数据处理的代码
  9. 非985、211毕业,却选择了拒接百度Android开发岗offer?
  10. 随机过程笔记:1.相关函数