为了方便查看,已使用markdown编辑形成新博文。

本文Mardown地址

近期做应用的时候实用到TextView单行长文本,当文本内容过长时候又想实现触摸水平滑动效果。

网上找了非常多,都没有看到有效解决方式。

当中,最常见的也是最笨拙滴採用重写TextView并继承实现touch 和 Gesture手势。

后来经提醒发现了事实上最简单的方案:

直接使用 EditText 就好了。

由于edittext须要编辑和移动光标的缘故。使得它是能够水平滑动的。因此我们仅仅须要设置其为透明背景,而且不能够获得焦点。

android:focusable="false"
<span style="background-color: rgb(240, 240, 240);"><span style="font-size:10px;">android:background="@android:color/transparent"</span></span>

(注:不能使用editable=“false”,由于这样就不能编辑滑动。而通过使用focusable="false"相同不可编辑同一时候能够滑动)

补充一点,要隐藏光标,仅仅用设置

android:cursorVisible="false"//隐藏

或

setCursorVisible(false);

这里记录下来给大家点儿启发。

不必用自以为聪明的方法办最笨的事儿。

共勉。

<EditText
android:id="@+id/tt"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_margin="15dip"
android:background="@android:color/transparent"
android:focusable="false"
android:singleLine="true"
android:text="简易实现 TextView单行文本水平触摸滑动效果。简易实现 TextView单行文本水平触摸滑动效果。简易实现 TextView单行文本水平触摸滑动效果"
android:textColor="#000"
android:textSize="20dip" />
</LinearLayout>

效果图:

源代码地址(附长文本折叠展开)

后边贴一些小白教程,能够忽视:(下面内容非原创,见谅)

一、仅仅想让TextView显示一行,可是文字超过TextView的长度怎么办?

在开头显示省略号

android:singleLine="true" 

android:ellipsize="start"

在结尾显示省略号

android:singleLine="true" 

android:ellipsize="end"

在中间显示省略号

android:singleLine="true" 

android:ellipsize="middle"

横向自己主动滚动(跑马灯效果)

android:singleLine="true" 

android:ellipsize="marquee" 

android:marqueeRepeatLimit="marquee_forever" 

android:focusable="true" 

android:focusableInTouchMode="true"

以上4个效果都要加上 android:singleLine="true",由于TextView默认是会自己主动换行的

android:ellipsize是设置文字过长时。该怎么显示

android:marqueeRepeatLimit="marquee_forever"是设置永远反复。当然你也能够设置详细的数字

android:focusable="true"和android:focusableInTouchMode="true"一定要加上,不然滚动效果出不来

二、怎么让TextView能够垂直滚动?

在Java代码中增加以下一句话就能够实现垂直滚动



textView.setMovementMethod(ScrollingMovementMethod.getInstance());

简易实现 TextView单行文本水平触摸滑动效果的更多相关文章

  1. Android TextView 单行文本的坑

    这是android系统的一个bug,描述如下:https://code.google.com/p/android/issues/detail?id=33868 具体来说就是当一个TextView设置了 ...

  2. 页面PC端 / 移动端整屏纵向翻页,点击/触摸滑动效果功能代码非插件

    页面翻页,滑动功能示范代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  3. Android中实现整个视图切换的左右滑动效果

    Android中提供了一个Gallary,可以实现图片或者文本的左右滑动效果. 如何让整个视图都能实现左右滑动,达到类似于Gallary的效果呢?可以直接用一个开源的ViewFlow来实现.   项目 ...

  4. 仿Android网易新闻客户端,并增加水平图片滑动,改进阅读体验

    仿网易新闻Android端APP 主要功能展示和代码实现 差不多花了一周的时间,目前实现的了新闻下的包括头条.体育.娱乐的一系列的新闻展示,以及点击后进入的新闻详情展示. 目前效果 目前效果请访问该网 ...

  5. android131 360 05 手势触摸滑动,sim卡,开机启动的广播,手机联系人,SharedPreferences,拦截短信

    安卓手势触摸滑动: package com.itheima52.mobilesafe.activity; import android.app.Activity; import android.con ...

  6. 移动端触摸滑动插件Swiper

    移动端触摸滑动插件Swiper 04/02/2015 一.了解Swiper 目前移动端项目一般都需要具有触屏焦点图的效果,如果你也需要实现这一功能的话,Swiper是一个不错的选择. 1.他不需要加载 ...

  7. css单行文本与多行溢出文本的省略号问题

    在文字布局和代码编写过程中遇到文本溢出是常有的事,下面总结一下对于单行文本溢出和多行文本溢出省略号的处理. 一.单行文本省略号 <p class="text1"> 这是 ...

  8. pyqt5在textBrowser添加文本并自动滑动到底

    pyqt5在textBrowser添加文本并自动滑动到底 说明: 1.按下按钮pushButton,把单行文本框lineEdit里的内容循环不断的添加到多行文本展示框textBrowser.2.必须要 ...

  9. css单行文本及多行文本溢出显示省略号

    关于文本溢出的相关属性: 1. text-overflow: clip|ellipsis|string;   该属性规定当文本溢出包含元素时发生的事情. clip : 修剪文本. ellipsis : ...

随机推荐

  1. 【C++基础之十四】函参的缺省

    可能会有这么一个函数,在大部分的情况下,我们不用给它传递参数,但在某些特殊情况下,我们需要给它传递参数,那怎么办呢? 简单啊,写两个一样的方法,一个带参,一个不带参... 这样也太没水准了.来点高端的 ...

  2. Ubuntu学习-简单指令

    查看是否安装了中文支持 locale -a 如果有 zh_CN.utf8 则表示系统已经安装了中文locale,如果没有则需要安装相应的软件包. 软件管理 apt ( Advanced Packagi ...

  3. hdu 4627 水数学题

    最小公倍数最大,也就是尽量让2个数互质,所以把n除以2 从中间向两边找就够了,自己写几组数据就能发现规律. 注意longlong存 #include<cstdio> #include< ...

  4. dom4j解析XML的CURD操作

    在开发JavaWeb项目中通常是利用XML配置文件来提高应用程序的访问效率,而在配置XML的同时,更多时候是对XML进行解析. 一.解析XML配置文件有两种机制: DOM和SAX的机制: DOM是将整 ...

  5. 【巧妙算法系列】【Uva 11464】 - Even Parity 偶数矩阵

    偶数矩阵(Even Parity, UVa 11464) 给你一个n×n的01矩阵(每个元素非0即1),你的任务是把尽量少的0变成1,使得每个元素的上.下.左.右的元素(如果存在的话)之和均为偶数.比 ...

  6. 通过匹配绑定select option的文本值 模糊匹配

    //通过匹配绑定select option的文本值 模糊匹配 $(".class option:contains('文本值')").attr("selected" ...

  7. NULL & nil & Nil & NSNULL的区别

    nil 是 OC 的,空对象,地址指向 空(0) 的对象 在 OC 中,可以给空对象发送任何消息,不会出现错误 NULL 是 C 的,空地址,地址的数值是 0,是一个长整数 表示地址是空 NSNull ...

  8. SQL Performance Improvement Techniques(转)

    原文地址:http://www.codeproject.com/Tips/1023621/SQL-Performance-Improvement-Techniques This article pro ...

  9. Java的动态代理机制详解(转)

    在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的 ...

  10. BestCoder 2nd Anniversary 1001 Oracle

    找到最小的非零数字拆开来相加. 高精度. #include <iostream> #include <cstdio> #include <cstring> #inc ...