我有一个文本视图,它有一个单行的阿拉伯语(从右到左)文本。文本内容会随着时间的推移而增加,最后一部分(最左侧)应该始终出现。水平滚动条最初设置为右侧,随着文本的增加自动向左滚动。
下面的代码在2.3Android手机上运行良好。这来自layout.xml
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="none"
android:fadingEdge="horizontal"
android:gravity="right"
android:scrollHorizontally="true"
android:scrollbars="horizontal"
android:singleLine="true"
android:text="@string/txt_start"
android:textAppearance="?android:attr/textAppearanceLarge" />
我在我的活动的onCreat()方法中有这个
tv = (TextView) findViewById(R.id.textView1);
tv.setMovementMethod(new ScrollingMovementMethod());
问题在于android 4.0手机上文本视图的行为不一致。水平滚动条最初不位于右侧,因此文本视图最初为空白!如果我试图滚动空白文本视图,文本就会出现。添加额外文本时,滚动条不会滚动以显示新文本,但如果我手动滚动文本,它会出现。
我搜索了stackoverflow,试图添加以下属性,但没有成功。
android:focusable="true"
android:focusableInTouchMode="true"
发现重力左/右是不推荐的,开发者应该使用开始/结束。要滚动文本,需要将“wrap_content”设置为其宽度,此外,还需要将textDirection设置为RTL。由于未知的原因,textDirection没有以编程方式工作,而是在xml中工作。
此代码在Android的所有API版本上运行良好。
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:textDirection="rtl"
android:scrollHorizontally="true"
android:scrollbars="horizontal"
android:singleLine="true"
android:ellipsize="none"
android:text="@string/txt_start"
android:textAppearance="?android:attr/textAppearanceLarge" />
试试这个例子,它应该可以工作:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/myText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/myscroll"
android:ellipsize="marquee"
android:singleLine="true"
android:scrollHorizontally="true"
android:marqueeRepeatLimit="10"
>
</LinearLayout>
注意:当测试字幕时,不要在Eclipse中的设计视图中测试它,请在模拟器\设备上尝试。
另外,如果您想在代码中添加滚动效果:
TextView tView = (TextView) findViewById(R.id.myText);
tView.stSelected(true);
要使选框在选框末尾不停地滚动,请执行以下操作:
android:marqueeRepeatLimit=”marquee_forever”
在我想用android:gravity=“right”设置文本视图滚动动画的情况下,这些解决方案都不起作用。不过,简单的解决方法是将TextView重力保持在左侧,但将其放置在RelativeLayout容器中与右侧对齐:
<RelativeLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoScrollingTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="left"
android:singleLine="true"
android:ellipsize="none">
</RelativeLayout>
我有一个水平ScrollView,它有两个元素:CardView和水平RecycerView。所以,当用户水平滚动时,我希望这两个元素滚动。 我想有这样的东西:Goal,橙色的线是CardView,黄色的线是RecycerView。当用户滚动时,两个元素滚动,如下所示:Scrolled Goal。 现在在我的应用程序中,当用户滚动时,只有RecycerView滚动。CardView保持在他的位置。
我想做的从右到左滚动与我猜将是一个recylcer视图,但不确定是否是这个。我只是需要有人给我指明正确的方向。我想我需要一个内部布局的回收视图。 如果有人能指点我在哪里找到答案,我会变得很伟大!
我正在使用Recyclerview显示项目列表。现在每次都可以有一些照片/多张照片,我需要在一行中水平滚动显示。 我目前正在使用画廊小部件来显示照片,但因为它现在已被弃用,所以我想用一些其他的东西来显示与画廊相同的功能水平图像。你能帮帮我吗? 非常感谢你的帮助。
我在用Android Studio。 如何使它支持旧版本? intractivity.xml
所以我在垂直ScrollView中有一个水平回收器视图。我的布局中的所有内容都显示得很好,并且都按照我想要的方向滚动,并且它做得很好。 我唯一的问题是,RecyclerView位于ScrollView中其他内容的下方,当RecyclerViewer部分可见时,它会在启动时将RecyclerView的底部与屏幕的底部对齐。这意味着RecyclerView上方的内容被推离屏幕。 有谁知道为什么会发生这
我做了一个水平循环视图,效果很好(多亏了这个),但滚动和数据的方向是从左向右扩展的;那么,我该如何更改RecyclerView滚动方向,如下图所示? 我的代码: