簡體   English   中英

使textview垂直滾動

[英]Make textview vertically scrollable

如何使多個textview在屏幕的某些不同部分中垂直滾動?

 <ImageView android:id="@+id/imageView" android:layout_width="200dp" android:layout_height="200dp" android:src="@drawable/girl1" /> <TextView android:layout_width="200dp" android:layout_height="200dp" android:id="@+id/textview" android:maxLines="8" android:scrollbars="vertical" android:layout_alignTop="@+id/imageView" android:layout_toEndOf="@+id/imageView" android:layout_toRightOf="@+id/imageView"></TextView> </RelativeLayout> TextView intro; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_meet_our_team); TextView txtview=(TextView)findViewById(R.id.textview); String text="I like programming in Android. This tip shows you how to make a TextView scrollable in Android."; txtview.setText(text); intro.setMovementMethod(new ScrollingMovementMethod()); } } 

我收到以下錯誤:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setMovementMethod(android.text.method.MovementMethod)' on a null object reference
                                                                         at com.example.cepl_pc.trial.MeetOurTeam.onCreate

您的問題在於intro.setMovementMethod(new ScrollingMovementMethod());

您尚未為TextView簡介分配任何ID,請用txtView替換它。 另外,您有android:maxLines = "8"並且您的文本字符串不夠長,無法獲得滾動視圖,請使用下面的代碼查看滾動效果。

  <ImageView
    android:id="@+id/imageView"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:src="@drawable/girl1" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textview"
    android:maxLines = "3"
    android:scrollbars="vertical"
    android:layout_alignTop="@+id/imageView"
    android:layout_toEndOf="@+id/imageView"
    android:layout_toRightOf="@+id/imageView"></TextView>

在Java中,

TextView txtview=(TextView)findViewById(R.id.textview);
    String text="I like programming in Android. This tip shows you how to make a TextView scrollable in Android.";
    txtview.setText(text);
    txtview.setMovementMethod(new ScrollingMovementMethod());

你甚至可以

<ScrollView
    android:layout_width="200dp"
    android:layout_height="200dp">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="text"/>
</ScrollView>

如果您想讓所有布局都滾動,請將ScrollView設置為根布局,並將fillview端口設置為true,如下所示:

<Scroll View
  xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:fillViewport="true"/>
.
.
//rest of your xml code.
.
.
<ScrollView/>

如果可行,請在評論部分讓我知道。

解決該問題的最佳方法是將其包含在.xml文件的ScrollView中,如下所示。

<ScrollView
        android:id="@+id/scrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
<ImageView
    android:id="@+id/imageView"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:src="@drawable/girl1" />

<TextView
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:id="@+id/textview"
    android:maxLines="8"
    android:scrollbars="vertical"
    android:layout_alignTop="@+id/imageView"
    android:layout_toEndOf="@+id/imageView"
    android:layout_toRightOf="@+id/imageView"></TextView>
</ScrollView>

聲明textView

textView1 = (TextView) findViewById(R.id.textView1);

在方法中添加以下代碼

textView1.setMovementMethod(new ScrollingMovementMethod());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM