如何在不使布局可滚动的情况下制作2个TextViews Scrollable?

时间:2017-07-24 17:15:34

标签: java android android-layout

我遇到了问题,但在搜索中没有得到任何答案。

我使用1 EditText和2 TextView s one one另一个,如果TextView的容量增加,它就不会添加到它而我我无法使其可滚动。

我需要为它们添加无限文本。

我需要将文本视图都设置为可滚动。

请帮我找到解决方案。

我试过了:

android:maxLines = "AN_INTEGER"  
android:scrollbars = "vertical"

yourTextView.setMovementMethod(new ScrollingMovementMethod());

and 

    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/linear1">

    <ScrollView
        android:id="@+id/SCROLLER_ID"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:fillViewport="true">

        <TextView
            android:id="@+id/TEXT_STATUS_ID"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scrollbars="vertical"
            android:layout_weight="1.0"/>
    </ScrollView>
</LinearLayout>

 mTextStatus = (TextView) findViewById( R.id.TEXT_STATUS_ID );
    mScrollView = (ScrollView) findViewById( R.id.SCROLLER_ID );

 private void scrollToBottom()
 {
  mScrollView.post(new Runnable()
   {
     public void run()
      {
        mScrollView.smoothScrollTo(0, mTextStatus.getBottom());
      }
     });
     }

我想显示TextView文本只有3行,后来不知道文本的长度,如果有更多文本意味着它应该是可滚动的。

请帮我找到解决方案。

1 个答案:

答案 0 :(得分:1)

当我使用应用时,只有textview到滚动我添加了这个:

testeview.setMovementMethod(new ScrollingMovementMethod());

设置textview文本后,您可以尝试。

所以我的 xml 就是:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="match_parent"

    android:layout_height="match_parent">





    <TextView

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:text="New Text"

        android:id="@+id/textView"

        android:scrollbars="vertical"/>

</LinearLayout>

和我的 java 类:

TextView textview;
associacao=(TextView)findViewById(R.id.textView);

        //texto do separador Share

        associacao.setText("A Share – Associação para a Partilha do Conhecimento, é uma associação sem fins lucrativos constituída por profissionais seniores com carreiras de sucesso e com capacidade de iniciativa, disponibilidade de tempo e interesse em partilhar o seu saber, trabalhando essencialmente para os jovens, numa base de voluntariado.\n" +

                "\n" +

                "Como principais pilares de actuação, a Sharededica-se ao tema da empregabilidade e ao apoio ao empreendedorismo.\n" +

                "\n" +

                "Ao longo dos anos de actividade da Share, a situação do país e principalmente as dificuldades\n" +

                "\n" +

                "acrescidas dos jovens na entrada no mercado de trabalho e a existência de muitos reformados com valor e conhecimentos críticos vieram dar mais força à nossa missão.\n" +

                "Criada em 2006, a Share formenta o diálogo inter-geracional identificando nos seniores:\n" +

                "\n" +

                "– Conhecimento;\n" +

                "\n" +

                "– Network;\n" +

                "\n" +

                "– Disponibilidade;\n" +

                "\n" +

                "– Motivação.\n" +

                "\n" +

                "E nos jovens:\n" +

                "\n" +

                "– Capacidade de aprender;\n" +

                "\n" +

                "– Hard/Soft skills;\n" +

                "\n" +

                "– Empreendedorismo;\n" +

                "\n" +

                "– Dinamismo.\n" +

                "\n" +

                "Acreditamos que é neste diálogo de partilha que vamos contribuir para uma sociedade melhor.\n" +

                "\n" +

                "A Share conta actualmente com mais de uma centena de associados efectivos e tem sede no Porto e um núcleo de associados em Lisboa.\n\n\n");

        // inicia funcao de scroll

        scroll();

滚动方法:

private void scroll(){

        //conteudo da funcao de scroll

        associacao.setMovementMethod(new ScrollingMovementMethod());

    }