안드로이드 개발 질문/답변
(글 수 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); 하니깐... 되더군요.. -_-;