您的位置:首页 > 移动开发 > Android开发

Android跑马灯效果

2016-04-08 10:33 501 查看
Android在有时候在显示文字时候宽度不够,换行感觉不好看有点别扭影响整体美观,于是就想让其滚动显示。

最通用的做法就是写个通用的样式文件:

<style name="marquee_text">
<item name="android:ellipsize">marquee</item>
<item name="android:focusable">true</item>
<item name="android:focusableInTouchMode">true</item>
<item name="android:marqueeRepeatLimit">marquee_forever</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:singleLine">true</item>
</style>


但是在有的时候加了上面的样式文件超出宽度的文本还是不滚动,这时候需要重写一下TextView,但是,请注意,请注意,请注意,在这个含有这个自定义TextView的界面最好不要含有输入法输入的EditText,因为这个TextView获得焦点了,会出现输入法不自动关闭、EditText获取到了焦点但是不显示输入法等问题。

public class MarqueeView extends TextView {
public MarqueeView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

public MarqueeView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}

public MarqueeView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}

@Override
@ExportedProperty(category = "focus")
public boolean isFocused() {
// TODO Auto-generated method stub
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: