Làm cho TextView có thể cuộn trên Android


772

Tôi đang hiển thị văn bản trong chế độ xem văn bản có vẻ quá dài để vừa với một màn hình. Tôi cần phải làm cho TextView của tôi có thể cuộn được. Làm thế nào tôi có thể làm điều đó?

Đây là mã:

final TextView tv = new TextView(this);
tv.setBackgroundResource(R.drawable.splash);
tv.setTypeface(face);
tv.setTextSize(18);
tv.setTextColor(R.color.BROWN);
tv.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER_HORIZONTAL);
tv.setOnTouchListener(new OnTouchListener() {
    public boolean onTouch(View v, MotionEvent e) {
        Random r = new Random();
        int i = r.nextInt(101);
        if (e.getAction() == e.ACTION_DOWN) {
            tv.setText(tips[i]);
            tv.setBackgroundResource(R.drawable.inner);
        }
        return true;
    }
});
setContentView(tv);

Câu trả lời:


1722

Bạn không cần phải sử dụng ScrollViewthực sự.

Chỉ cần đặt

android:scrollbars = "vertical"

thuộc tính của bạn TextViewtrong tập tin xml bố trí của bạn.

Sau đó sử dụng:

yourTextView.setMovementMethod(new ScrollingMovementMethod());

trong mã của bạn.

Bingo, nó cuộn!


96
Nhưng chắc chắn maxLinesyêu cầu bạn nhập một số tùy ý; Đây không phải là cái gì đó sẽ làm việc cho mọi kích thước màn hình và kích thước phông chữ? Tôi thấy đơn giản hơn khi chỉ gói nó bằng một ScrollView, nghĩa là tôi không phải thêm bất kỳ thuộc tính hoặc mã XML nào nữa (như đặt phương thức di chuyển).
Christopher Orr

12
@Christopher, ScrollView cũng yêu cầu 'android: layout_height'.
Regex Rookie

11
@Regex: Vâng vâng. Hoặc bạn để cho ScrollViewchiếm nhiều dung lượng mà nó cần (ví dụ: thông qua android:fillViewportthuộc tính) hoặc bạn đặt kích thước cụ thể bạn muốn. Sử dụng maxLineskhông nên được sử dụng để thiết lập kích thước của các yếu tố giao diện người dùng, vì vậy đó không phải là giải pháp.
Christopher Orr

62
bạn không cần xác định maxlines. chỉ là phần còn lại
Stevanicus

13
Để làm rõ những gì mọi người đang nói về cuộn "mượt": Nếu bạn sử dụng phương pháp này, cuộn thực sự là "trơn tru" (trong đó bạn có thể cuộn pixel theo pixel), tuy nhiên đó không phải là động lực. Ngay khi bạn gỡ ngón tay ra, nó sẽ ngừng cuộn ngay lập tức - không có rung. Điều này khá khó chấp nhận đối với một giao diện người dùng hiện đại, vì vậy tôi sẽ chỉnh sửa câu trả lời để đảm bảo người khác không lãng phí thời gian cho "giải pháp" này.
Timmmm

310

Đây là cách tôi đã làm hoàn toàn bằng XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <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:layout_weight="1.0"/>
    </ScrollView>
</LinearLayout>

GHI CHÚ:

  1. android:fillViewport="true"kết hợp với android:layout_weight="1.0"sẽ làm cho textview chiếm hết không gian có sẵn.

  2. Khi xác định Scrollview, KHÔNG chỉ định android:layout_height="fill_parent"nếu không, scrollview không hoạt động! (điều này đã khiến tôi lãng phí một giờ vừa rồi! FFS).

MIPO CHUYÊN NGHIỆP:

Để lập trình cuộn xuống phía dưới sau khi thêm văn bản, hãy sử dụng:

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());
        }
    });
}

12
Không cần sử dụng mTextView.getBottom(), chỉ cần sử dụng phương thức mScrollView.fullScroll(View.FOCUS_DOWN)vì đây là một phần của API ScrollView. Xem ở đâyở đây để biết thêm.
ChuongPham

7
Android cảnh báo rằng một trong hai LinearLayouthoặc ScrollViewcó thể là vô dụng trong ví dụ này (tôi đã xóa LinearLayouthoàn toàn). Nó cũng cảnh báo rằng đối với TextView, nó phải android:layout_height="wrap_content"phù hợp với ScrollView. Những cảnh báo này có thể là do 3 năm đã trôi qua kể từ khi câu trả lời này được đăng. Bất kể, câu trả lời này hỗ trợ cuộn và
vuốt

Thêm vào <!--suppress AndroidLintUselessParent -->phía trên ScrollViewtệp xml sẽ xử lý các cảnh báo đó.
Louie Bertoncin

"Mẹo chuyên nghiệp" không hoạt động đối với tôi, ở API Android cấp 9. Chế độ xem văn bản vẫn được cuộn lên đầu sau khi thêm văn bản.
LarsH

Cách tiếp cận này tốt hơn nhiều khi sử dụng phương pháp trả lời được chấp nhận sẽ không tạo ra trải nghiệm người dùng mượt mà.
seyedrezafar

120

Tất cả những gì thực sự cần thiết là setMovementMethod (). Đây là một ví dụ sử dụng linearLayout.

Tệp main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:id="@+id/tv1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:text="@string/hello"
    />
</LinearLayout>

Tệp WordExtractTest.java

public class WordExtractTest extends Activity {

    TextView tv1;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

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

        loadDoc();
    }

    private void loadDoc() {

        String s = "";

        for(int x=0; x<=100; x++) {
            s += "Line: " + String.valueOf(x) + "\n";
        }

        tv1.setMovementMethod(new ScrollingMovementMethod());

        tv1.setText(s);
    }
}

3
Có cách nào để đặt thuộc tính này trong XML không? Tôi tự hỏi tại sao họ sẽ bỏ qua lựa chọn đó.
Thalur

Nó hoạt động nhưng der có cách nào để làm mới nó sau khi cuộn không? ý tôi là sau khi cuộn TextView tôi sẽ thay đổi văn bản trên nó, nhưng vị trí của nó vẫn được cuộn ngay cả khi không bắt buộc. bcose của nó trước đây tôi đã áp dụng cuộn ...
Nirav Dangi

9
không có thanh cuộn và cuộn là khó khăn so với ScrollViewphương pháp.
Jeffrey Blattman

1
Sử dụng StringBuilderthay vì một String... những gì bạn có là một chút lãng phí.
Alex Lockwood

4
Điều này hoạt động nhưng cuộn không được trơn tru. Vẫn hoạt động mặc dù cảm ơn.
frostymarvelous

46

Làm cho văn bản của bạn chỉ cần thêm điều này

TextView textview= (TextView) findViewById(R.id.your_textview_id);
textview.setMovementMethod(new ScrollingMovementMethod());

16
Điều này không làm cuộn động học. Không sử dụng cái này.
Timmmm

3
@Timmmm làm thế nào để có được cuộn động?
Ciro Santilli 冠状 病毒 审查 事件

Bạn không muốn "cuộn động" cho một văn bản phải đọc.
Ngày 1 tháng

41

Không cần thiết phải đưa vào

android:Maxlines="AN_INTEGER"`

Bạn có thể thực hiện công việc của mình bằng cách thêm:

android:scrollbars = "vertical"

Và, đặt mã này vào lớp Java của bạn:

textview.setMovementMethod(new ScrollingMovementMethod());

Giải pháp tốt hơn nhiều so với giải pháp được chấp nhận, vì kích thước thanh cuộn phù hợp chính xác với văn bản và bạn không lãng phí không gian.
FractalBob

Khi tôi đang sử dụng ScrollView với tư cách là cha mẹ, thời điểm đó nó không hoạt động
Hoàng tử

27

Bạn có thể

  1. bao quanh TextViewbởi a ScrollView; hoặc là
  2. đặt phương thức Movement thành ScrollingMovementMethod.getInstance();.

22

Cách tốt nhất tôi tìm thấy:

Thay thế TextView bằng EditText bằng các thuộc tính bổ sung sau:

android:background="@null"
android:editable="false"
android:cursorVisible="false"

Không cần gói trong ScrollView.


2
Dễ dàng là câu trả lời phù hợp nhất và tốt nhất, đặc biệt khi xem xét rằng EditText là một lớp con TextView và câu hỏi là làm thế nào để làm cho textview có thể cuộn được chứ không phải cách khắc phục vấn đề. Sẽ bỏ phiếu hai lần nếu tôi có thể :)
Justin Buser

4
@JustinBuser Không thể không đồng ý nhiều hơn. :) Điều này hoàn toàn ngẫu nhiên khi nó hoạt động và không có gì đảm bảo nó sẽ có trong các phiên bản Android trong tương lai. Nếu bạn muốn cuộn, hãy sử dụng các công cụ cuộn mà Android cung cấp. ScrollViewlà cách chính xác để đi.
Madbreaks

1
@Madbreaks Không có gì "serendipitous" về nó, EditText là một TextView với một vài phương thức được thêm vào và ghi đè được thiết kế riêng để phù hợp với văn bản có độ dài khác nhau. Cụ thể EditText ghi đè giá trị trả về cho hàm TextView getDefaultMovementMethod. Việc triển khai mặc định trả về NULL, EditText về cơ bản thực hiện điều tương tự mà tất cả các câu trả lời khác đang đề xuất. Đối với việc sử dụng các công cụ mà Android cung cấp có liên quan, lớp EditText ít có khả năng bị phản đối hơn bất kỳ phương thức nào khác được tìm thấy trong các câu trả lời này.
Justin Buser

4
@JustinBuser Vấn đề của tôi với vấn đề đó là bạn phụ thuộc vào hành vi mặc định của EditText, đó là điều tôi muốn nói rất có thể sẽ thay đổi hoàn toàn (hoàn toàn không phải là EditText sẽ bị phản đối). Bạn có thể lập luận rằng, nhưng một lần nữa, ý tưởng là sử dụng các thành phần và tính năng phù hợp cho nhiệm vụ trong tay. ScrollView được thiết kế rõ ràng để bao gồm cuộn. Tôi luôn cố gắng và luôn đề nghị người khác sử dụng công cụ phù hợp cho công việc. Hầu như luôn có nhiều cách tiếp cận cho bất kỳ vấn đề lập trình nào. Dù sao, cảm ơn cho phản ứng chu đáo.
Madbreaks

16

Đơn giản. Đây là cách tôi đã làm nó:

  1. Bên XML:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        tools:context="com.mbh.usbcom.MainActivity">
        <TextView
            android:id="@+id/tv_log"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            android:text="Log:" />
    </RelativeLayout>
  2. Phía Java:

    tv_log = (TextView) findViewById(R.id.tv_log);
    tv_log.setMovementMethod(new ScrollingMovementMethod());

Tặng kem:

Để cho chế độ xem văn bản cuộn xuống khi văn bản điền vào nó, bạn phải thêm:

    android:gravity="bottom"

vào tệp TextView xml. Nó sẽ tự động cuộn xuống khi có thêm văn bản.

Tất nhiên bạn cần thêm văn bản bằng chức năng chắp thêm thay vì đặt văn bản:

    tv_log.append("\n" + text);

Tôi đã sử dụng nó cho mục đích đăng nhập.

Tôi hi vọng cái này giúp được ;)


14

Đây là "Cách áp dụng ScrollBar cho TextView của bạn", chỉ sử dụng XML.

Trước tiên, bạn cần có một điều khiển Textview trong tệp main.xml và viết một số văn bản vào đó ... như thế này:

<TextView
    android:id="@+id/TEXT"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="@string/long_text"/>

Tiếp theo, đặt điều khiển chế độ xem văn bản ở giữa cuộn xem để hiển thị thanh cuộn cho văn bản này:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent">

    <ScrollView
        android:id="@+id/ScrollView01"
        android:layout_height="150px"
        android:layout_width="fill_parent">

        <TextView
            android:id="@+id/TEXT"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="@string/long_text"/>

    </ScrollView>
</RelativeLayout>

Đó là nó...


6
Tại sao thậm chí viết này? Đây là một phiên bản gần như giống hệt nhau, mặc dù ít chính xác hơn, một câu trả lời đã được đăng hơn 6 tháng trước khi bạn viết nó.
Justin Buser

11

Điều này sẽ cung cấp văn bản cuộn trơn tru với một thanh cuộn.

ScrollView scroller = new ScrollView(this);
TextView tv = new TextView(this);
tv.setText(R.string.my_text);
scroller.addView(tv);

Cho phép hoạt hình màu xanh. Câu trả lời tốt nhất ở đây IMO.
Griffin W.

11

Tuy nhiên, "mẹo chuyên nghiệp" ở trên từ Ai đó ở đâu đó ( Làm cho TextView có thể cuộn trên Android ) hoạt động rất tốt, tuy nhiên, nếu bạn tự động thêm văn bản vào ScrollView và muốn tự động cuộn xuống phía dưới sau khi chỉ thêm vào khi người dùng ở dưới cùng của ScrollView? (Có lẽ bởi vì nếu người dùng đã cuộn lên để đọc thứ gì đó bạn không muốn tự động đặt lại xuống dưới trong khi nối thêm, điều này sẽ gây khó chịu.)

Dù sao, đây là:

if ((mTextStatus.getMeasuredHeight() - mScrollView.getScrollY()) <=
        (mScrollView.getHeight() + mTextStatus.getLineHeight())) {
    scrollToBottom();
}

MTextStatus.getLineHeight () sẽ làm cho nó để bạn không cuộnToBottom () nếu người dùng ở trong một dòng từ cuối ScrollView.


10

Nếu bạn muốn cuộn văn bản trong chế độ xem văn bản, thì bạn có thể làm theo các bước sau:

Trước tiên, bạn nên phải phân lớp textview.

Và sau đó sử dụng nó.

Sau đây là một ví dụ về một textview phân lớp.

public class AutoScrollableTextView extends TextView {

    public AutoScrollableTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setEllipsize(TruncateAt.MARQUEE);
        setMarqueeRepeatLimit(-1);
        setSingleLine();
        setHorizontallyScrolling(true);
    }

    public AutoScrollableTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setEllipsize(TruncateAt.MARQUEE);
        setMarqueeRepeatLimit(-1);
        setSingleLine();
        setHorizontallyScrolling(true);
    }

    public AutoScrollableTextView(Context context) {
        super(context);
        setEllipsize(TruncateAt.MARQUEE);
        setMarqueeRepeatLimit(-1);
        setSingleLine();
        setHorizontallyScrolling(true);
    }

    @Override
    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
        if(focused)
            super.onFocusChanged(focused, direction, previouslyFocusedRect);
    }

    @Override
    public void onWindowFocusChanged(boolean focused) {
        if(focused)
            super.onWindowFocusChanged(focused);
    }

    @Override
    public boolean isFocused() {
        return true;
    }
}

Bây giờ, bạn phải sử dụng điều đó trong XML theo cách này:

 <com.yourpackagename.AutoScrollableTextView
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:text="This is very very long text to be scrolled"
 />

Đó là nó.


7

Thêm phần sau trong textview trong XML.

android:scrollbars="vertical"

Và cuối cùng, thêm

textView.setMovementMethod(new ScrollingMovementMethod());

trong tệp Java.


1
Điều này không làm cuộn động học. Đừng sử dụng nó.
Timmmm

6

Tôi không tìm thấy cuộn TextView để hỗ trợ cử chỉ 'fling', nơi nó tiếp tục cuộn sau khi vuốt lên hoặc xuống. Cuối cùng tôi đã thực hiện điều đó bởi vì tôi không muốn sử dụng ScrollView vì nhiều lý do và dường như không có MovementMethod nào cho phép tôi chọn văn bản và nhấp vào liên kết.


6
Soo ... làm thế nào bạn thêm cử chỉ fling?
Lou Morda

6

Trong kotlin để làm cho textview có thể cuộn

myTextView.movementMethod= ScrollingMovementMethod()

và cũng thêm vào xml thuộc tính này

    android:scrollbars = "vertical"

5

Khi bạn hoàn thành với cuộn có thể, hãy thêm dòng này vào dòng cuối cùng của chế độ xem khi bạn nhập bất cứ thứ gì trong chế độ xem:

((ScrollView) findViewById(R.id.TableScroller)).fullScroll(View.FOCUS_DOWN);

anh bạn, cái bàn là một khung nhìn được xác định bởi thuộc tính id từ XML đã được xử lý trong .. bạn cứ thử đi .. nó sẽ hoạt động tốt .. nó hoạt động với tôi ..
Rahul Baradia

4

Nếu bạn không muốn sử dụng giải pháp EditText thì bạn có thể gặp may mắn hơn với:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.yourLayout);
    (TextView)findViewById(R.id.yourTextViewId).setMovementMethod(ArrowKeyMovementMethod.getInstance());
}

4

Thêm phần này vào bố cục XML của bạn:

android:ellipsize="marquee"
android:focusable="false"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:text="To Make An textView Scrollable Inside The TextView Using Marquee"

Và trong mã bạn phải viết các dòng sau:

textview.setSelected(true);
textView.setMovementMethod(new ScrollingMovementMethod());

2
Điều này không làm cuộn động học. Đừng sử dụng nó.
Timmmm

tôi không muốn elip hóa văn bản kết thúc. Tôi phải làm nó như thế nào.
Sagar Nayak

@SagarNayak sử dụng android: ellipsize = "none"
Francis

2

Mã dưới đây tạo ra một textview cuộn ngang tự động:

Trong khi thêm TextView vào xml, hãy sử dụng

<TextView android:maxLines="1" 
          android:ellipsize="marquee"
          android:scrollHorizontally="true"/>

Đặt các thuộc tính sau của TextView trong onCreate ()

tv.setSelected(true);
tv.setHorizontallyScrolling(true); 


1

Sử dụng nó như thế này

<TextView  
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:maxLines = "AN_INTEGER"
    android:scrollbars = "vertical"
/>

0

Trong trường hợp của tôi.Constraint Layout.AS 2.3.

Mã thực hiện:

YOUR_TEXTVIEW.setMovementMethod(new ScrollingMovementMethod());

XML:

android:scrollbars="vertical"
android:scrollIndicators="right|end"

0

Tôi đã vật lộn với điều này trong hơn một tuần và cuối cùng đã tìm ra cách để làm cho công việc này!

Vấn đề của tôi là mọi thứ sẽ cuộn dưới dạng một 'khối'. Bản thân văn bản đã được cuộn, nhưng như một đoạn chứ không phải từng dòng. Điều này rõ ràng không làm việc cho tôi, bởi vì nó sẽ cắt đứt các dòng ở phía dưới. Tất cả các giải pháp trước đây không hiệu quả với tôi, vì vậy tôi tự tạo ra.

Đây là giải pháp đơn giản nhất cho đến nay:

Tạo một tệp lớp có tên: 'PerfectScrollableTextView' bên trong một gói, sau đó sao chép và dán mã này vào:

import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.widget.TextView;

public class PerfectScrollableTextView extends TextView {

    public PerfectScrollableTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setVerticalScrollBarEnabled(true);
        setHorizontallyScrolling(false);
    }

    public PerfectScrollableTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setVerticalScrollBarEnabled(true);
        setHorizontallyScrolling(false);
    }

    public PerfectScrollableTextView(Context context) {
        super(context);
        setVerticalScrollBarEnabled(true);
        setHorizontallyScrolling(false);
    }

    @Override
    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
        if(focused)
            super.onFocusChanged(focused, direction, previouslyFocusedRect);
    }

    @Override
    public void onWindowFocusChanged(boolean focused) {
        if(focused)
            super.onWindowFocusChanged(focused);
    }

    @Override
    public boolean isFocused() {
        return true;
    }
}

Cuối cùng thay đổi 'TextView' của bạn bằng XML:

Từ: <TextView

Đến: <com.your_app_goes_here.PerfectScrollableTextView


1
Câu trả lời hoàn hảo 100%. Tôi đã đối mặt với vấn đề tương tự như bạn đề cập trong mô tả. áp dụng nhiều giải pháp nhưng không hoạt động hoàn hảo. nhưng giải pháp của bạn hoạt động hoàn hảo trong mọi trường hợp. tiết kiệm thời gian của tôi :) Cảm ơn
Daxesh Vekariya

@DaxeshVekariya Rất vui vì nó hiệu quả với bạn!
Dầu khí

0

Đặt maxLinesscrollbarsbên trong TextView trong xml.

<TextView android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scrollbars="vertical"
    android:maxLines="5" // any number of max line here.
    />

Sau đó, trong mã java.

textView.setMovementMethod(new ScrollingMovementMethod());


0

Tôi đã có vấn đề này khi tôi đang sử dụng TextViewbên trong ScrollView. Giải pháp này đã làm việc cho tôi.

scrollView.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                description.getParent().requestDisallowInterceptTouchEvent(false);

                return false;
            }
        });

        description.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {

                description.getParent().requestDisallowInterceptTouchEvent(true);

                return false;
            }
        });

0

Bất cứ khi nào bạn cần sử dụng ScrollView làm cha mẹ , và bạn cũng sử dụng phương thức di chuyển cuộn với TextView.

Và khi bạn chân dung để cảnh quan thiết bị của bạn thời gian đó xảy ra một số vấn đề . (như) toàn bộ trang có thể cuộn nhưng phương pháp di chuyển cuộn không thể hoạt động.

nếu bạn vẫn cần sử dụng ScrollView làm cha mẹ hoặc phương thức di chuyển cuộn thì bạn cũng sử dụng bên dưới desc.

Nếu bạn không có bất kỳ vấn đề nào thì bạn sử dụng EditText thay vì TextView

xem bên dưới :

<EditText
     android:id="@+id/description_text_question"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@null"
     android:editable="false"
     android:cursorVisible="false"
     android:maxLines="6"/>

Ở đây, EditText hoạt động như TextView

Và vấn đề của bạn sẽ được giải quyết


0

XML - Bạn có thể sử dụng android:scrollHorizontallyThuộc tính

Liệu văn bản có được phép rộng hơn chế độ xem hay không (và do đó có thể cuộn theo chiều ngang).

Có thể là một giá trị boolean, chẳng hạn như "đúng" hoặc "sai".

Prigramacaly - setHorizontallyScrolling(boolean)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.