상세 컨텐츠

본문 제목

[안드로이드] 텍스트뷰(TextView) 다양하게 꾸며보는 방법

안드로이드

by aries574 2021. 7. 29. 11:56

본문


2020.04.15 - [안드로이드] - [안드로이드] 텍스트뷰 외곽선(테두리) 설정 및 사용

 

[안드로이드] 텍스트뷰 외곽선(테두리) 설정 및 사용

텍스트뷰를 생성하면 글씨만 나옵니다. 텍스트 외곽에 선을 그리고 싶을 때 사용하면 됩니다. res폴더 -> drawable 폴더에 Drawable Resource File파일을 하나 생성합니다. 생성 후, 아래와 같이 코드를 입

aries574.tistory.com

2020.04.16 - [안드로이드] - [안드로이드] 텍스트뷰 공통문자 등록 및 사용(strings.xml)

 

[안드로이드] 텍스트뷰 공통문자 등록 및 사용(strings.xml)

2020.04.15 - [안드로이드] - [안드로이드] 화면(액티비티) Activity 세로모드 가로모드 고정(오류 조치방법) manifests -> androidmanifest.xml 파일을 열어보면 " data-og-host="aries574.tistory.com" data-og-..

aries574.tistory.com

2020.06.24 - [안드로이드] - [안드로이드]텍스트뷰(TextView) 동적생성

 

[안드로이드]텍스트뷰(TextView) 동적생성

이번시간에는 텍스트뷰를 동적으로 생성하는 방법을 알아보겠습니다. 미리 필요한 텍스트뷰를 만들어서 사용할 수도 있지만, 상황에 따라서 동적으로 생성이 필요할 수도있습니다 1. activity_main

aries574.tistory.com

 

이번 시간에는 텍스트뷰를 다양하게 꾸며볼 수 있는 방법을 알아보겠습니다.

1. 메인화면(activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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=".MainActivity">
    
    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="네이버로 이동: 클릭"
        android:textColor="@color/black"
        android:textSize="25sp" />
</RelativeLayout>

 

2. 메인코드(MainActivity.java)

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.BackgroundColorSpan;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.text.style.UnderlineSpan;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView textView = findViewById(R.id.text_view);

        String text = "네이버로 이동: 클릭";

        SpannableString ss = new SpannableString(text);

        ClickableSpan clickableSpan1 = new ClickableSpan() {
            @Override
            public void onClick(@NonNull View view) {

                String url = "https://www.naver.com";
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                startActivity(intent);
            }
        };

        //클릭설정
        ss.setSpan(clickableSpan1, 9, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //글자색 변경
        ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //배경색 변경
        ss.setSpan(new BackgroundColorSpan(Color.GREEN), 5,7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //글씨체 변경
        ss.setSpan(new StyleSpan(Typeface.BOLD), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //밑줄
        ss.setSpan(new UnderlineSpan(), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //글씨 크기
        ss.setSpan(new AbsoluteSizeSpan(100), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);


        //텍스트뷰에 설정 지정
        textView.setText(ss);

        //링크설정
        textView.setMovementMethod(LinkMovementMethod.getInstance());
    }
}

3. 실행화면

 

 

 

맘에 드셨다면 공감 부탁드려요

문의 댓글 환영합니다.

 

반응형

관련글 더보기

댓글 영역