안드로이드 개발 질문/답변
(글 수 45,052)
public View getView(int position, View oldView, ViewGroup parent) { // TODO Auto-generated method stub View v; if (position < 7) { // 제목 행 if (oldView == null) { v = new TextView(mContext); ((TextView) v).setGravity(Gravity.CENTER); ((TextView) v).setText(mWeekTitleIds[position]); ((TextView) v).setTextColor(mContext.getResources().getColor( mWeekColorIds[position])); } else { v = oldView; } } else if (position >= mStartPos && position <= mEndPos) { // 유효한 날짜 영역 if (oldView == null) { v = new TextView(mContext); ((TextView) v).setGravity(Gravity.CENTER); int nDay = getDayFromPosition(position); Calendar c = (Calendar) mBaseDate.clone(); c.set(Calendar.DATE, nDay); v.setTag(c);
((TextView) v).setText(Integer.toString(nDay)); ((TextView) v).setTextColor(mContext.getResources().getColor( mWeekColorIds[c.get(Calendar.DAY_OF_WEEK) - Calendar.SUNDAY])); v = new ImageView(mContext); Drawable maker = mContext.getResources().getDrawable(R.drawable.mark_hos); maker.setAlpha(20); ((ImageView)v).setImageDrawable(maker);
달력의 날짜에 동그라미를 치고싶습니다.
레이아웃에는 그리드뷰로 선언하였습니다.
소스에서
아랫줄에 보시면
((TextView) v).setText(Integer.toString(nDay)); 를 사용하여 글자를 먼저 입력하였구요
이 후 v = new ImageView(mContext); 이미지뷰로 바꿔준 후 아이콘을 추가하였는데요~
아이콘밖에 안 보여서(글자는 안보이더라구요), 그래서 maker에 setAlpha(0)을 줘도 투명하지도 않고
이전과 마찬가지로 아이콘만 보이네요. 글자와 아이콘이 겹치게(물론 글자가 보여야합니다) 하려면 어떻게 수정해주어야할지
고민입니다.
v = new ImageView(mContext);
Drawable maker = mContext.getResources().getDrawable(R.drawable.mark_hos);
maker.setAlpha(20);
((ImageView)v).setImageDrawable(maker);
v = new TextView(mContext);
((TextView) v).setText(Integer.toString(nDay));
((TextView) v).setTextColor(mContext.getResources().getColor(
mWeekColorIds[c.get(Calendar.DAY_OF_WEEK)
- Calendar.SUNDAY]));
위처럼 텍스트뷰와 이미지뷰 순서를 바꾸어주면 글자만 보이네요... ㅡㅜ
참고로 동그라미 아이콘의 배경은 투명입니다.
ImageView를 사용할 필요 없이
v.setBackgroundResource(R.drawable.icon); 하니깐... 되더군요.. -_-;