我正在使用此textview,它运行正常。但目前的选框是从右到左。我想从左到右改变它。我怎么能改变它?
<TextView
android:id="@+id/txt_view_clerk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="4dp"
android:text="سنکیبنسکین مسنبک سنیکبم نککسن کمن کمینسبکم نکن کنسبک سکیم بنکسمنیب کمسنی ب"
android:lines="1"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:gravity="right"
android:scrollHorizontally="true"
android:layout_toLeftOf="@+id/img_view_clerk"/>
答案 0 :(得分:2)
在res:
下的新文件夹中使用以下xml代码<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="-3%p"
android:toXDelta="3%p"
android:duration="1200" />
</set>
并且,只需将其添加到您的textview:
yourTextView.startAnimation(AnimationUtils.loadAnimation(activity, R.newfolder.move));
答案 1 :(得分:1)
你可以更好地使用动画。
Animation animationToRight = new TranslateAnimation(-400,400, 0, 0);
Animation animationToLeft = new TranslateAnimation(400, -400, 0, 0);
animationToLeft.setDuration(12000);
animationToLeft.setRepeatMode(Animation.RESTART);
animationToLeft.setRepeatCount(Animation.INFINITE);
TextView textView= (TextView) findViewById(R.id.textViewMarqToRight);
textViewMarqToLeft.setAnimation(animationToLeft);
您可以选择任何一个动画并将其应用到所需的视图中。
答案 2 :(得分:0)
查看最近在兼容性套件中添加的BidiFormatter
和native rtl support博客
然后,您可以通过编程方式设置选框,如下所示
if (bidiFormatter.isRtlContext()) {
txt_view_clerk.setEllipsize(TextUtils.TruncateAt.BEGIN);
} else {
txt_view_clerk.setEllipsize(TextUtils.TruncateAt.END);
}
或者你可以尝试
你xml中的 android:textDirection="anyRtl"
。