한 걸음 두 걸음

android studio TextView내에 스크롤뷰 적용시키기 본문

FrontEnd/Android

android studio TextView내에 스크롤뷰 적용시키기

언제나 변함없이 2019. 2. 12. 16:27
반응형

레이아웃 전체에 스크롤뷰를 적용시키기 위해서는

xml파일에 있는 레아이웃 맨 위와 아래에 로 감싸주면 됐었습니다.

예시 )

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".bookPage">


    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:text="와랄ㄹ라라라라 " />

    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>



</ScrollView>

하지만 텍스트 뷰 내부에 스크롤을 적용시켜주기 위해서는 텍스트뷰에 아래의 속성을 추가시켜준 후 ,
android:scrollbars="vertical"

연결되어있는 java파일로 가서

 Button btn_pageback = (Button)findViewById(R.id.btn_bookback);

        tv_state1.setMovementMethod(new ScrollingMovementMethod());

이렇게 넣어주면 됩니다.

참고 > 텍스트뷰에 엔터를 입력하고 싶다면 \n를 텍스트 내부에 넣어줍니다. 그러면
쓰듯이 자동으로 줄바꿈됩니다.

텍스트를 가운데정렬하고싶다면 텍스트뷰 속성으로 android:textAlignment="center"를 줍니다.



또는 

```

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

        // TextView에 텍스트 내용이 화면 크기를 넘어서 들어갈 때 스크롤 가능하게 만들기 위한 메소드 호출

        text.setMovementMethod(new ScrollingMovementMethod());

```


이런식으로 해주면 된다.

반응형