EditText의 setHintTextColor ()
두 개의 텍스트 상자가있는보기가 있으며 사용자는 동일한 화면 (대화 상자를 통해)의 다른보기에서 텍스트 색상을 선택할 수 있습니다.
따라서 사용자가 대화 상자를 통해 색상을 변경하면 EditText
텍스트의 색상 과 힌트를 변경합니다 . 그러나 EditText
사용자가 다른 색상을 선택한 후 사용할 수있는 텍스트가 있으면 해당 텍스트가 해당 색상으로 표시됩니다. 그러나 해당 텍스트를 모두 제거하면 HintText 의 색상은 이전 색상의 색상입니다.
예를 들어 현재 텍스트 상자에 빨간색이 있고 사용자가 녹색을 선택하면 텍스트가 녹색으로 표시됩니다. 그러나 해당 텍스트를 제거하면 코드에서 힌트 색상 을 변경 하더라도 힌트 텍스트가 빨간색으로 표시 됩니다. 이 문제는 텍스트가있을 때만 발생합니다. 비어 있고 힌트 텍스트가 있으면 문제가 발생하지 않습니다.
힌트 색상을 변경할 때 사용합니다. -
editText.setHintTextColor(getResources().getColor(R.color.white));
문제에 대한 해결책-
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3){
//do something
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
//do something
}
@Override
public void afterTextChanged(Editable arg0) {
if(arg0.toString().length() <= 0) //check if length is equal to zero
tv.setHintTextColor(getResources().getColor(R.color.white));
}
});
다음을 layout
위해 간단히 추가 하십시오 EditText
.
android : textColorHint = "# FFFFFF"
기본 색상 :
android:textColorHint="@android:color/holo_blue_dark"
색상 코드 :
android:textColorHint="#33b5e5"
내부 레이아웃 XML 파일 힌트의 색상을 변경할 수 있습니다 .....
android:textColorHint="@android:color/*****"
* 를 색상 또는 색상 코드로 바꿀 수 있습니다 .
EditText 는 텍스트가 비어있는 경우에만 hintTextColor를 적용하는 것 같습니다 . 그래서 간단한 해결책은 다음과 같습니다.
Editable text = mEditText.getText();
mEditText.setText(null);
mEditText.setHintTextColor(color);
mEditText.setText(text);
여러 필드가있는 경우 EditText를 확장하고이 논리를 실행하는 메서드를 작성하고 대신 해당 메서드를 사용할 수 있습니다.
프로그래밍 방식으로 자바-API v14 이상
exampleEditText.setHintTextColor(getResources().getColor(R.color.your_color));
이것은 기본 힌트 색상과 같으며 나를 위해 일했습니다.
editText.setHintTextColor(Color.GRAY);
editText.invalidate()
힌트 색상을 재설정 한 후 호출 할 수 있습니다. 문제를 해결할 수 있습니다. 실제로 SDK는 동일한 방식으로 색상을 업데이트합니다.
참고 URL : https://stackoverflow.com/questions/6438478/sethinttextcolor-in-edittext
'developer tip' 카테고리의 다른 글
jQuery는 AJAX 쿼리에서 내 JSON을 구문 분석하지 않습니다. (0) | 2020.09.11 |
---|---|
좋은 프로그래머의 코드는 어떤 모습일까요? (0) | 2020.09.10 |
Java에서 날짜가 두 날짜 사이에 있는지 어떻게 확인할 수 있습니까? (0) | 2020.09.10 |
Java를 사용하여 16 진수를 RGB로 변환하는 방법은 무엇입니까? (0) | 2020.09.10 |
그룹화 된 Pandas DataFrame에 함수를 병렬로 효율적으로 적용 (0) | 2020.09.10 |