我有一个TextView我想限制它的字符.实际上,我可以做到这一点,但我正在寻找的是如何在字符串的末尾添加三个点(...).这一个显示文本已经继续.这是我的XML,但没有点,虽然它限制了我的文本.
<TextView
android:id = "@+id/tvFixture"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toLeftOf = "@id/ivFixture_Guest"
android:text = "@string/test_06"
android:lines = "1"
android:ems = "3"
android:gravity = "right"
style = "@style/simpletopic.black"
android:ellipsize="end"/>
Run Code Online (Sandbox Code Playgroud) 我想在TextView上使用选取框效果,但只有在TextView获得焦点时才会滚动文本.这是一个问题,因为在我的情况下,它不能.
我在用:
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
Run Code Online (Sandbox Code Playgroud)
有没有办法让TextView始终滚动其文本?我已经看到这是在Android Market应用程序中完成的,其中应用程序名称将在标题栏中滚动,即使它没有获得焦点,但我无法在API文档中找到这一点.
我有一个TextView,它位于屏幕的左侧,设置为gravity ="right",并设置为SingleLine ="true".
如果有可能这个视图中的文本太长,我希望它只是从视图的左侧消失.我认为下面的配置会这样做,但实际发生的是长字符串完全消失,大概是在某个地方的视图之外.
如何创建一个包含单行文本的简单文本视图,并在发生意外情况时保持其布局?......甚至是可以预测的事情.
<TextView
android:id="@+id/tempF"
android:text="@string/tempF"
android:layout_width="146dp"
android:layout_height="wrap_content"
android:textColor="#cccccc"
android:textStyle="bold"
android:textSize="92dp"
android:fontFamily="serif"
android:gravity="right"
android:layout_marginTop="60dp"
android:layout_gravity="top|left"
android:singleLine="true"
/>
Run Code Online (Sandbox Code Playgroud) 我正在屏幕上水平布置3个视图(固定大小的图像和2个单行文本视图:leftTextView和rightTextView)我正试图rightTextView让它拥抱leftTextView,但是如果两个标签的宽度都会超过屏幕大小,截断leftTextiew.
所需功能的示例:
|img|leftText|rightText| ||(end of screen)
|img|leftTextMedium|rightText| ||
|img|leftTextTooLongSoTrunc...|rightText||
Run Code Online (Sandbox Code Playgroud)
实际发生了什么:
|img|leftText|rightText| ||(end of screen)
|img|leftTextPrettyLongButNotHuge|rightT||
|img|leftTextWhichIsIncrediblyLongBlahBl||
Run Code Online (Sandbox Code Playgroud)
目前,如果两个文本视图的大小都超过了视图的宽度,那么rightTextView最终会被压缩以腾出空间,即使我已经设置android:ellipsize="end"了leftTextView.
有没有办法让它leftTextView具有"截断优先级",表示它应该截断,如果它会导致其他视图不适合?或者在另一方面,我可以设置rightTextView为具有"抗压性"以防止它被挤压以为其腾出空间leftTextView吗?这是我的XML示例:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/fixedWidthImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/leftTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/fixedWidthImage"
android:layout_toRightOf="@id/fixedWidthImage"
android:maxLines="1"
android:textSize="18sp"
android:ellipsize="end" />
<TextView
android:id="@+id/rightTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/leftTextView"
android:layout_toRightOf="@+id/leftTextView"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:maxLines="1"
android:textSize="12sp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我试过的事情:
leftTextView添加一个toStartOf/ toLeftOf …如何使用 MaxLines 而不是 SingleLine 来制作选取框?
这是我的 TextView :
<TextView
android:text="bla bla bla bla bla bla"
android:id="@+id/MarqueeText"
android:layout_width="30dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true">
Run Code Online (Sandbox Code Playgroud)
在我的 code.java 之后setSelected我TextView:
TextView txtView=(TextView) findViewById(R.id.MarqueeText);
txtView.setSelected(true);
Run Code Online (Sandbox Code Playgroud)
问题是android:singleLine已被弃用,所以我必须使用android:maxLines它,但选框不适用于它。
我想为一个简单的Android应用程序创建滚动文本自动收报机.
我有一个存储在数组中的大量引号列表,我想用引号随机填充我的自动收报机:一个引号一直滚动,然后另一个随机选择并滚动它,依此类推.
无论重点是什么,还是在盘旋的情况下,自动收报机都应该突然出现...
1)如何为这些目的创建文本自动收报机?
2)如何使用从我的阵列中选择的稳定的随机引号流填充自动收报机?
谢谢
我有一个RecyclerView(ytRC),在该RecyclerView中,每个元素都有一个缩略图和一个相应的标题,该标题通过适配器(ResultsAdapter)进入RecyclerView内部,该适配器将缩略图和标题放入cardview中。我想使cardview中的标题变成一行,这很容易。但是,有些标题过长,因此无法使用。我认为选取框文本视图将是解决此问题的好方法,因此我开始寻找解决方案。
我发现了一些成果,如这个和这个。但是,这些解决方案仅能部分起作用,这意味着RecyclerView中的50个元素中只有1个实际滚动了,这取决于它们的长度。我认为发生这种情况是因为我正在调用,title.setEnabled(true);并且title.requestFocus();使用的onBindViewHolder()方法,ResultsAdapter并且仅当在RecyclerView中生成唯一的某个视图时,文本才被破坏。
我想尝试的另一个解决方案是创建一个自定义TextView类ScrollingTextView:
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
public class ScrollingTextView extends android.support.v7.widget.AppCompatTextView {
public ScrollingTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public ScrollingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private void init() {
//set scrolling
setSelected(true);
requestFocus();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,使用该类将产生相同的结果。那么,我该如何在每个文本太多的RecyclerView元素中将textview框起来?
我试图使用字幕,它不工作,这是我的代码......任何人都可以看到问题?
<TextView
android:id="@+id/lblTitle"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:gravity="center"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="Book Title"
android:textColor="#FFFFFF"
android:textSize="12dp" />
Run Code Online (Sandbox Code Playgroud)
我在运行时设置此textview的文本.我使用此链接TextView Marquee无法正常工作的代码