android TextView杂谈
来源:互联网 发布:cad软件闪退 编辑:程序博客网 时间:2024/05/16 05:14
上次看到老罗的视频教程,很有收获,今天将学到的东西总结一下。
一)响应TextView对应位置的点击事件(如123456中,对2345响应单击事件,对1,6点击没有效果)
1) 首先在xml文件中定义一个TextView。
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="all"
android:textColor="@color/red"
android:textIsSelectable="false" />
2)在activity中,我们定义一个TextView,通过findViewById函数,获取对应的textView1控件。
textView1=(TextView)findViewById(R.id.textview1);
view.setOnClickListener()函数只能对这个控件整体进行单机事件的监听,要达到对TextView中某段文字的单击事件的监听如下:
String str1="跳转到activity1";
SpannableString spanStr=new SpannableString(str1);//使用SpannableString
spanStr.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Intent intent=new Intent(MainActivity.this,Activity1.class);
startActivity(intent);
}
}, 0, str1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//new ClickableSpan实现对这个字符串的点击事件,第2.3个参数是设置开始字符和结束字符。
textView1.setText(str1);
二)传统的TextView只有在获得焦点的时候才会出现跑马灯效果,第二个想实现的就是在TextView没有获得焦点的时候也能实现跑马灯效果。当然网上的例子一大堆,呵呵。
要实现这个功能,首先就要自定义控件继承自TextView,我命名为MarqueenText,然后重些isFocus和onFocusChanged函数。代码如下
@Override
public boolean isFocused() {
// TODO Auto-generated method stub
return true;//返回值改成true
}
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect) {
// TODO Auto-generated method stub
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}//加上这个方法的作用是在TextView控件获得焦点和失去焦点的时候对跑马灯没有影响
然后在xml文件中,引用自定义的控件。如下代码
<com.yhj.mytextview1.MarqueenText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:id="@+id/textview5"
android:singleLine="true"
android:textIsSelectable="false"
android:layout_marginTop="20dp"/>
引用自定义的控件就是包名加自定义控件的类名:com.yhj.mytextview1.MarqueenText。就这样就能达到控件没有获得焦点也能达到跑马灯的效果。
- android TextView杂谈
- TextView杂谈
- 【Andoid杂谈】Android TextView中显示超文本(HTML)内容
- android杂谈
- Android杂谈
- Android 杂谈
- Android 杂谈
- 【Android】杂谈
- Android杂谈
- Android 杂谈
- android杂谈
- Android杂谈
- Android杂谈--Android生命周期
- Android TextView
- android textview
- android---TextView
- Android TextView
- Android TextView
- javascript 构造函数和方法
- jdbc 使用PreparedStatement来存储和读取大数据(Blob或Clob)
- mysql视图
- 列队-小型计算器
- asp.net 的XML操作
- android TextView杂谈
- nutch1.6安装与在myeclipse上部署
- 关于职业规划
- iOS 视图控制器的内存申请与释放普遍规则
- Use of @OneToMany or @ManyToMany targeting an unmapped class: com.jason.model.MRequirement.mexecutor
- apache 关于对象数据的复制工具PropertyUtils类和 BeanUtils类的 copyProperties方法
- java null和""的区别
- MAC中文件夹删除报错:-8072的原因和解决办法
- itext