By this post i am gonna teach about How to set Marquee effect in Android Text View.
Design Code (XML)
Design Code (XML)
<RelativeLayout
android:layout_width=
"fill_parent"
android:layout_height=
"fill_parent"
>
<TextView
android:id=
"@+id/mywidget"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:lines=
"1"
android:singleLine="true"
android:ellipsize=
"marquee"
android:fadingEdge=
"horizontal"
android:marqueeRepeatLimit=
"marquee_forever"
android:scrollHorizontally=
"true"
android:textColor=
"#ff4500"
android:text=
"Simple application that shows how to use marquee, with a long text"
/>
</RelativeLayout>
Activity Code.
public
class
TextViewMarquee extends Activity {
private
TextView tv;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)
this
.findViewById(R.id.tv);
tv.setSelected(
true
);
// Set focus to the textview
// in case if you want to do it this in problematically means please use the below lines.
textview.setText("your long text");
textview
.setSelected(true);
textview
.setEllipsize(TruncateAt.MARQUEE);
textview
.setSingleLine(true);
}
}
Hope this helps . Happy Coding.
7 comments:
It doenst work if I change the text on the TextView time from time.
Only the first text set works.
It not works for short text..how can i set marquee for short text.
@Namrata and @Rafael
Try This One.
and After that in your mainactivity
Textview marqee = (Textview)findviewbyId(R.id.MarqueeText);
marqee.setSelected(true)
dont forget to do this line..!
it is not working for short text. why?
When i take textview property as maxLines = "1" . Then this marquee is not running and why. Please give me suggestions ...
Animation animationToRight = new TranslateAnimation(-400,400, 0, 0);
animationToRight.setDuration(16000);
animationToRight.setRepeatMode(Animation.RESTART);
animationToRight.setRepeatCount(Animation.INFINITE);
Animation animationToLeft = new TranslateAnimation(500, -400, 0, 0);
animationToLeft.setDuration(16000);
animationToLeft.setRepeatMode(Animation.RESTART);
animationToLeft.setRepeatCount(Animation.INFINITE);
TextView tv = (TextView)findViewById(R.id.txt_name);
//tv.setAnimation(animationToRight);
tv.setAnimation(animationToLeft);
tv.setSelected(true);
String textRight = "Find your favourite product and buy it";
tv.setText(textRight);
Post a Comment