상세 컨텐츠

본문 제목

[안드로이드]알림(Snackbar) 글씨색, 배경색 변경하기

안드로이드

by aries574 2021. 1. 4. 12:23

본문


2021/01/03 - [안드로이드] - [안드로이드] 알림(Snackbar) 생성및 취소기능 만들어보기


이전 시간에 알림(Snackbar) 생성및 취소기능을 만들어 보았습니다. 

이번에는 알림에 뜨는 글씨색깔을 쉽게 바꿔보는 예제를 만들어 보겠습니다. 

Snackbar를 사용하려면 Design 라이브러리를 등록해야 합니다. 

하는 방법은 위의 링크 문서에 있습니다.


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:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">


<Button
android:id="@+id/btn_snackbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="알림" />

</RelativeLayout>


2. 메인코드 구현(MainActivity.java)


import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.google.android.material.snackbar.Snackbar;

public class MainActivity extends AppCompatActivity{

Button btn_snackbar;

RelativeLayout layout;

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

btn_snackbar = findViewById(R.id.btn_snackbar);

layout = findViewById(R.id.rootLayout);

btn_snackbar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

showSnackbar();
}
});
}


//스낵바 실행
public void showSnackbar(){

Snackbar snackbar = Snackbar.make(layout, "Custom Snackbar", Snackbar.LENGTH_LONG);
snackbar.setAction("취소", new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "취소되었습니다", Toast.LENGTH_SHORT).show();
}
});
snackbar.show();

//스낵바 뷰객체 가져오기
View snackbarView = snackbar.getView();

//액션글씨 색상 변경
snackbar.setActionTextColor(Color.RED);

//스낵바 텍스트 객체 생성
TextView snackbarText = (TextView)snackbarView.findViewById(com.google.android.material.R.id.snackbar_text);

//알림글씨 색상 변경
snackbarText.setTextColor(Color.BLUE);

//알림글씨 글씨크기 설정
snackbarText.setTextSize(30);

//알림글씨 위치 설정
snackbarText.setTextAlignment(snackbarView.TEXT_ALIGNMENT_CENTER);

//스낵바 배경색상 변경
snackbarView.setBackgroundColor(Color.YELLOW);

snackbar.show();
}
}


3. 실행화면




반응형

관련글 더보기

댓글 영역