当textview文字比较长实现水平滚动的焦点问题

由于安卓手机分辨率及屏幕尺寸的多样性,有时使用textview可能会无法显示完全,此时就简单地想到了让文字实现水平滚动。水平滚动的实现其实是比较简单的,唯一的一个难点就是如何让textview获得焦点,因为只有获得焦点,设置的滚动属性才会生效。        水平滚动属性如下:                          

android:ellipsize="marquee"                

android:focusable="true"                

android:singleLine="true"                

android:marqueeRepeatLimit="marquee_forever"                

android:focusableInTouchMode="true"                

android:scrollHorizontally="true"       

虽然直接将textview设置focusable为true,当这个可能因为外部布局的一些操作而导致失去焦点。       我简单介绍一下常见的3种解决无法滚动的问题,如果仍然无法帮你解决,你可参考下面的一篇博客:       http://blog.csdn.net/chenshi011/article/details/7792326      1.当textview所在布局不存在焦点失去问题时,直接设置为上面的滚动属性即可。    2.当外部存在GridView、ListView等的时候,你的不经意之间的setAdapter就可能使textview的焦点失去,自然也就无法滚动了。此时你可以在setAdapter后将setAdapter的控件设置setFocusable(false)。    3.当所要滚动的textview控件是Item布局中的一部分时,这时一般建议对item布局的父容器(如listview)添加属性android:focusable="true",切记不可简单的直接将textview设置focusable为true,否者listview可能无法实现点击。当然这种情况我们一般的操作是只有选中的item中的textview才会滚动。此时,我们可简单的在getview中进行判断,将选中的item中的textview设置setSelected(true),这样就可以滚动了。 --------------------- 本文来自 yyly2s6x3x3 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yyly2s6x3x3/article/details/46888887?utm_source=copy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值