안드로이드에서는 기본 CalendarView를 사용하고 있습니다. 배경을 밝은 회색으로 설정했습니다. 캘린더보기의 월보기 색상을 변경할 수 있습니까?캘린더보기 월 이름의 텍스트 색상을 설정하십시오.
답변
알다시피 TextView는 비공개이며 액세스 할 수있는 방법이없는 것처럼 보입니다.
나는 그것을 권하고 싶지 않다 있지만이이 java.lang.reflect
패키지를 사용하여 수행 할 수 있습니다 (너무 이전 버전에서 작동) 나는 다음과 같은 솔루션을 사용하고 안드로이드 5.x의에
try
{
CalendarView cv = (CalendarView) this.findViewById(R.id.calendarView1);
Class<?> cvClass = cv.getClass();
Field field = cvClass.getDeclaredField("mMonthName");
field.setAccessible(true);
try
{
TextView tv = (TextView) field.get(cv);
tv.setTextColor(Color.RED);
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
}
catch (NoSuchFieldException e)
{
e.printStackTrace();
}
감사합니다. Ryan! 당신은 절대적으로 정확합니다 ... –
@ 라이언 나는 맨 위에 나타나는 달의 이름을 바꾸고 싶습니다. 그리고 나는이 방법으로 그것을 할 수 있습니다. 그러나 캘린더보기를 위나 아래로 스크롤 할 때마다 날짜가 다시 정상으로 변경됩니다. 어떤 힌트? – tony9099
@ tony9099 안타깝게도 그렇게하는 간단한 방법은 없습니다. CalendarView 코드는 [grepcode.com] (http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/widget)에서 볼 수 있습니다. /CalendarView.java). 'setMonthDisplayed'는 TextView를 갱신하기 위해 호출되는 메소드입니다. – Ryan
을 :
를CalendarView cv = (CalendarView) this.findViewById(R.id.calendarView1);
ViewGroup vg = (ViewGroup) cv.getChildAt(0);
View child = vg.getChildAt(0);
if(child instanceof TextView) {
((TextView)child).setTextColor(getResources().getColor(R.color.black));
}
calendarview의 레이아웃은 here이며, 월 이름 TextView가 레이아웃의 첫 번째 하위 항목임을 알 수 있습니다.
- 1. 캘린더보기
- 2. 변수를 사용하여 textview 텍스트 색상을 설정하십시오.
- 3. QTableView 행에 색상을 설정하십시오.
- 4. 청사진 div의 색상을 설정하십시오
- 5. pyqt에서 QMenuBar로 색상을 설정하십시오.
- 6. 코코아 : 선택한 색상을 설정하십시오.
- 7. 타밀어 캘린더보기
- 8. 일별 캘린더보기
- 9. 이벤트별로 배경 색상을 고유하게 설정하십시오.
- 10. ggplot2의 채우기 색상을 부호로 설정하십시오.
- 11. 한 요소의 텍스트 색상을 다른 요소의 bg 색상으로 설정하십시오.
- 12. wpf 목록 상자에서 체크 박스 항목의 전경 텍스트 색상을 설정하십시오.
- 13. 텍스트 상자에서 combobox 텍스트를 설정하십시오.
- 14. 목록 상자 강조 색상을 null로 설정하십시오.
- 15. Android에서 TextView 배경으로 사용되는 도형의 색상을 설정하십시오.
- 16. C에서 루프 이름의 "왼쪽"속성을 설정하십시오.
- 17. iPhone 일 캘린더보기?
- 18. openerp에서 캘린더보기 변경
- 19. 캘린더보기 요약 보고서 만들기
- 20. iPhone 캘린더보기 절름발이보기?
- 21. 텍스트 색상 버튼을 기본값으로 설정하십시오.
- 22. 텍스트 상자의 텍스트 색상을 C#
- 23. xsl에서 값을 csv로 저장하면서 글꼴 색상을 설정하십시오.
- 24. Google 시각화 API - 특정 지점에 색상을 설정하십시오.
- 25. BMP/JPG 파일의 픽셀 색상을 설정하십시오.
- 26. iPhone 앱에서 UISlider의 색상을 맞춤 설정하십시오.
- 27. 터치 된 픽셀의 색상을 FrameLayout으로 설정하십시오.
- 28. 배경 색상을 기준으로 텍스트 색상을 변경 하시겠습니까?
- 29. 텍스트 색상을 바탕으로 색상을 동적으로 바꿉니다 (Google지도)
- 30. 텍스트 뷰 색상을 클릭
나는 캘린더 뷰의 소스 코드를 살펴 봤는데 거기에 texview mMonthTextView ..가 있다는 것을 알았지 만 외부에서는 접근 할 수 없다. 그래서 텍스트 뷰의 텍스트 색을 설정할 방법이 없다. –
wjat about wjat 스타일? 매니페스트에 설정할 수 있습니다. – Merlin