현재 달력을 만들고 있는데 날짜를 누르면 다른화면을 인텐트 하도록 하려고 합니다...
날짜 클릭을 어떻게 시켜야 될지 고민하다가 그냥 날짜부분을 TextView에서 Button으로 바꿨거든요
근데 버튼 크기가 크다보니 날짜가 7개가 들어가야되는데 4개만들어가고 3개가 잘려서 화면에 안잡히더라고요
그래서 버튼 사이즈를 줄이고 싶은데 어떻게 해야될지 알려주세요ㅠㅠ
package com.example.a219.mydiary;
import java.util.ArrayList;
import java.util.Calendar;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
public class MainActivity extends Activity {
ArrayList<Button> list;
TextView today;
int firstDay;
int totDays;
int iYear;
int iMonth;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 현재 년과 월을 구함
Calendar calendar = Calendar.getInstance();
iYear = calendar.get(Calendar.YEAR);
iMonth = calendar.get(Calendar.MONTH);
today = (TextView) findViewById( R.id.today );
list = new ArrayList<Button>();
TableLayout table = (TableLayout) findViewById(R.id.table);
for (int i = 0; i < 6; i++) {
TableRow tr = new TableRow(this);
for (int j = 0; j < 7; j++) {
Button tv = new Button(this);
if (j == 0)
tv.setTextColor(Color.RED);
else if (j == 6)
tv.setTextColor(Color.BLUE);
else
tv.setTextColor(Color.BLACK);
tv.setGravity(Gravity.CENTER_HORIZONTAL);
tr.addView(tv);
list.add(tv);
}
table.addView(tr);
}
table.setStretchAllColumns(true);
table = (TableLayout) findViewById(R.id.week);
table.setStretchAllColumns(true);
setCalendar(iYear, iMonth);
Button btn = (Button) findViewById(R.id.pre);
btn.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
iMonth--;
if( iMonth <= 0 ){
iYear--;
iMonth = 11;
}
setCalendar(iYear, iMonth);
}
});
btn = (Button) findViewById(R.id.next);
btn.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
iMonth++;
if( iMonth >= 12 ){
iMonth = 0;
iYear++;
}
setCalendar(iYear, iMonth);
}
});
}
private void setCalendar(int year, int month) {
// calendar 객체 생
Calendar calendar = Calendar.getInstance();
// 날자 셋팅
calendar.set( Calendar.YEAR, year );
calendar.set( Calendar.MONTH, month );
// 1일의 요일을 구하기 위해 현재 날짜를 1일로 설
calendar.set( Calendar.DAY_OF_MONTH, 1 );
// 날짜를 출력
today.setText( year + "년 " + (month + 1) + "월" );
// 요일을 구함 whatDay 에는 요일이 들어
int whatDay = calendar.get( Calendar.DAY_OF_WEEK );
// j 변수는 1부터 증가하면서 일을 출력
int j = 1;
// 기존에 적혀있던 텍스트 모두 초기화
for( int i = 0 ; i < list.size(); i++ ){
list.get( i ).setText( "" );
}
// 날짜를 셋함
for( int i = whatDay - 1 ; i < calendar.getActualMaximum( Calendar.DAY_OF_MONTH ) + whatDay - 1 ; i++ ){
list.get( i ).setText( j++ + "" );
}
}
}
이게 제가 쓴 자바코드고
이게 현재 상태입니다;;