SnackBar의 텍스트 색상을 자유롭게 설정하는 방법

Design SupportLibrary를 사용하는 SnakBar는 표시되는 텍스트 색상을 설정하려는 장면을 만났다.
를 참고하십시오.더 좋은 방법이 있다면 꼭 알려주세요.
버튼을 누르면 색이 변하는 스냅바가 나오는 마인액티비티를 준비했다.

다음은 코드입니다.
ChangeSnackBarTextColorSample
public class MainActivity extends AppCompatActivity {

    @Bind(R.id.root)
    LinearLayout root;

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

    private void showSnackBar(String msg, int color) {
        Snackbar snackbar = Snackbar.make(root, msg, Snackbar.LENGTH_SHORT);
        TextView textView = (TextView) snackbar.getView().findViewById(android.support.design.R.id.snackbar_text);
        textView.setTextColor(color);
        snackbar.show();
    }

    @OnClick(R.id.red)
    public void showRedTextSnackBar() {
        showSnackBar("赤です", Color.RED);
    }

    @OnClick(R.id.blue)
    public void showBlueTextSnackBar() {
        showSnackBar("青です", Color.BLUE);
    }

    @OnClick(R.id.white)
    public void showWhiteTextSnackBar() {
        showSnackBar("白です", Color.WHITE);
    }
}
요약하자면 SnakBar에서 사용하는 TextView를 얻어서 버튼을 눌러서 그 색을 바꿀 뿐입니다.
사용한 도코로는 모르지만 TextView는 직접 얻을 수 있고 애니메이션화할 수도 있다.
(파란색도 빨간색도 잘 안 보이는데...)
너무 소홀합니다.

좋은 웹페이지 즐겨찾기