상세 컨텐츠

본문 제목

[안드로이드]탭(TAB) 선택시 색상지정 setTabTextColors

안드로이드

by aries574 2020. 6. 5. 13:45

본문


 

2020/06/01 - [안드로이드] - [안드로이드] List 만들어 보기 [RecyclerView, SQLiteOpenHelper, AlertDialog]

 

이 전에 올린 글에서 간단한 등록 및 리스트 화면을 만들어보았습니다.

화면은 탭을 사용해서 나누었습니다. 

이번에는 탭 선택 시 색상을 변경하고 싶을 때 어떻게 해야 하는지 알아보겠습니다.

 

1. activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity">

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginBottom="10dp"
        app:tabMode="fixed"
        app:tabGravity="fill"
        app:tabTextColor="#000000"
        android:elevation="1dp"
        />

</LinearLayout>

 

2. MainActivity.java

setTabTextColors() 메소드를 통해서 2개의 색상을 정할 수 있습니다.

첫 번째는 기본색상, 두 번째는 탭 선택시 색상입니다.

rgb색상표를 입력하면됩니다. 

예제는 기본은 검은색, 선택 시 빨간색이 되도록 했습니다. 

import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import com.google.android.material.tabs.TabLayout;

public class MainActivity extends AppCompatActivity {

    TabLayout tabs;

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

        //탭에 화면추가
        tabs = findViewById(R.id.tabs);
        tabs.addTab(tabs.newTab().setText("정보 리스트"));
        tabs.addTab(tabs.newTab().setText("정보 등록"));

        //setTabTextColors(기본색상, 선택시 색상)
        tabs.setTabTextColors(Color.rgb(0,0,0), Color.rgb(255,0,0));
    }
}

 

3. 실행화면

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

문의 댓글 환영합니다.

 

반응형

관련글 더보기

댓글 영역