안드로이드 달력을 만드는데 도움이 될것 같다. 버튼을 동적으로 만들수 있다는것은 참으로 유용하다. 저것을 xml로 작업하려면 버튼 30개를 만들어야되고 button선언을 30번을 해야한다. 수정해야 될 사항이 생길경우 30군대를 찾아 고처야 한다. 그래서 버튼을 동적으로 만들었다. 간단하다. 뒤에 리니어 레이아웃 5개를 배치하고 그냥 버튼만들어서 넣었다. 물론 이벤트도 30개에 한번에 넣을수 있다.

역시 자바에 불가능이란 없는것 같다. 코드는 이러하다.

public void onCreate(Bundle savedInstanceState) {
 
  super.onCreate(savedInstanceState);
 

  setContentView(R.layout.main);
 
  LinearLayout linear1 = (LinearLayout) findViewById(R.id.linearLayout1);
  LinearLayout linear2 = (LinearLayout) findViewById(R.id.linearLayout2);
  LinearLayout linear3 = (LinearLayout) findViewById(R.id.linearLayout3);
  LinearLayout linear4 = (LinearLayout) findViewById(R.id.linearLayout4); 
  LinearLayout linear5 = (LinearLayout) findViewById(R.id.linearLayout5);
 

  Button btn[] = new Button[30];
  for (int i = 0; i < btn.length; i++) {
   btn[i] = new Button(this);
   btn[i].setText("" + (i + 1));
   btn[i].setWidth(66);
   btn[i].setTextSize(11);
   btn[i].setId(i);
   if (i < 7) {
    linear1.addView(btn[i]);
   } else if (i < 14) {
    linear2.addView(btn[i]);
   } else if (i < 21) {
    linear3.addView(btn[i]);
   } else if (i < 28) {
    linear4.addView(btn[i]);
   } else {
    linear5.addView(btn[i]);
   }
   btn[i].setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     Toast.makeText(ThreadAndroidActivity.this,(v.getId()+1)+ "일!",
       Toast.LENGTH_SHORT).show();
    }
   });
  }
 }


 

레이아웃 선언은 별것 없다. 버튼도 그냥 배열로 만들어서 넣어 버리기만 하면 된다. 엄청 간단한 예이다. 그런데 여러군대 검색을 해도 이런 예제는 없어서 생각을 해보려하니 나의 멍청 머리는 회전을 하지 않았따. ㅠㅠㅠㅠ 계속 삽질끝에 만들어서 올려본다.

어떻게 저것으로 달력을 만드나. 왼쪽 오른쪽 버튼을 넣고 가운대에 월을 표시한다. 그리고 버튼 배치를 가운대에 숫자에 따라 동적으로 바꾼다. 그럼 달력을 완성할수 있다. 달력에 일정을 넣고 싶다면 버튼 이벤트에 intent를 선언해서 다음 일정 입력하는 엑티비티를 만들고 넘겨서 일정을 입력하고 디비에 저장한후........... 하아.....이것저것 생각하려니 골치 아프다. 그냥 그만!

http://blog.naver.com/dhrod0325?Redirect=Log&logNo=140145234311

Posted by 90002
이전버튼 1 ··· 3 4 5 6 7 8 9 10 이전버튼

블로그 이미지
90002

공지사항

Yesterday6
Today8
Total125,261

최근에 달린 댓글

최근에 받은 트랙백

글 보관함