반응형

1. 시험환경

- Android Studio v4.2

- JAVA

 

2. 목적

- TextView 위젯의 기본 사용법을 학습한다.

 

3. 적용

① App에서 사용할 문자열을 관리하는 파일에서 문자열을 추가한다.

   - 파일위치 : app → res → values → strings.xml

문자열 관리 파일

 

② TextView 위젯을 추가하고 속성값을 설정한다.

    - text : "직접 문자열 입력" or "strings.xml에서 설정한 string 참조"

    - textSize : 단말 해상도에 따라 일정한 크기로 표시되는 sp 단위 입력

    - textStyle : 여러 style 동시 적용시 "|" 사용

    - typeface : 글자 형식 지정

    - ellipsize : "marquee"로 설정하면 회전하는 자막 효과 적용

    - marqueeRepeatLimit : 최대 회전수

    - singleLine : 텍스트의 길이가 길어도 한줄에 표시

    - focusable : "marquee" 적용을 위해 true로 설정

TextView 속성 설정

 

③ "marquee"로 설정하여 자막효과를 주기 위해 setSelected() 속성을 true로 설정한다.

TextView의 Selected 속성 설정

 

4. 결과

- 속성값이 적용된 TextView 결과 확인

실행 결과

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- Android Studio v4.2

- JAVA

 

2. 목적

- FrameLayout에서 TextView 전환하는 방법을 알아보자.

 

3. 적용

① Layout 컴포넌트 (activity_main.xml)

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

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="click"
        android:onClick="onBtnClicked" />


        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/txt03"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#8866ff"
                android:text="텍스트"
                android:textSize="60sp"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/txt02"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#ff8866"
                android:text="텍스트"
                android:textSize="40sp"
                android:visibility="invisible" />

            <TextView
                android:id="@+id/txt01"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#33af55"
                android:text="텍스트"
                android:textSize="20sp"
                android:visibility="invisible" />
        </FrameLayout>
</LinearLayout>

 

 

② 버튼을 클릭하면 TextView가 전환하는 동작 코드 구현 (MainActivity.java)

package com.study.studylayout;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {


    int idx 0;
    TextView txtView1;
    TextView txtView2;
    TextView txtView3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txtView1 = findViewById(R.id.txt01);
        txtView2 = findViewById(R.id.txt02);
        txtView3 = findViewById(R.id.txt03);
    }


    public void onBtnClicked(View v) {
        changeView();
    }


    private void changeView() {
        if (idx == 0)
        {
            txtView1.setVisibility(View.VISIBLE);
            txtView2.setVisibility(View.INVISIBLE);
            txtView3.setVisibility(View.INVISIBLE);
            idx 1;
        }

        else if (idx == 1)
        {
            txtView1.setVisibility(View.INVISIBLE);
            txtView2.setVisibility(View.VISIBLE);
            txtView3.setVisibility(View.INVISIBLE);
            idx 2;
        }

        else if (idx == 2)
        {
            txtView1.setVisibility(View.INVISIBLE);
            txtView2.setVisibility(View.INVISIBLE);
            txtView3.setVisibility(View.VISIBLE);
            idx 0;
        }

    }
}

 

4. 결과

- "CLICK" 버튼 클릭시 FrameLayout에 배치된 TextView가 전환되는 것을 확인한다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

+ Recent posts