如果文本比视图长,动态TextView将不会选取框

时间:2015-08-06 14:20:54

标签: android android-layout textview marquee

我将用户输入文本放入EditText,然后textview显示该文本。下面我有TextView(preview_pane)每次更新EditText时都会更新它的文本,这样可以正常工作。

EditText myed = (EditText) findViewById(R.id.text_input);
    myed.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
    myed.addTextChangedListener(new TextWatcher() {

        ...

        @Override
        public void afterTextChanged(Editable s) {
            TextView previewText = (TextView) findViewById(R.id.preview_pane);
            EditText et = (EditText) findViewById(R.id.text_input);
            previewText.setText(et.getText().toString());
            previewText.setSelected(true);
        }
    });

下面我将TextView的xml设置为选框

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_margin="30sp"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:background="#FFFFFF">
    <TextView
        android:id="@+id/preview_pane"
        android:layout_width="wrap_content"
        android:layout_height="80sp"
        android:layout_gravity="center_horizontal"
        android:textSize="70sp"
        android:textColor="#DDDDDD"
        android:layout_marginTop="10sp"
        android:includeFontPadding="false"
        android:singleLine="true"
        android:scrollHorizontally="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        />
</RelativeLayout>

当文本短于300sp布局宽度时,它会正确使用。但是,如果它都适合布局,我不希望它用于选取框。并且,一旦文本变得太长而无法放在布局上,它就会缩小(...)文本的末尾而不是字幕,与我想要的完全相反!

所以,我的问题是,如何才能使文本视图在文本视图的短小到足以适应布局的情况下对文本进行选取,并且在文本视图太长时间的情况下对其进行选取而不进行椭圆化处理?

1 个答案:

答案 0 :(得分:1)

将TextView宽度设置为与父

匹配
def my_template_function():
    start = timezone.now().date()
    end = timezone.now().date()+datetime.timedelta(days=1)
    # rest of the code goes here

希望这会对你有所帮助..!