달력만들기 예제를 보고 공부를 하고 있습니다. 실행은 잘 되는데, 크기가 너무 크게나오네요. 그래서 스크롤을 내려야
30 또는 31일이 보이는데, 저는 이것을 화면에 딱 맞게 하고 싶습니다. 어떻게 안될까요?
xml파일을 바꾸면 될줄알았는데, 안되네요. 제가 공부를 많이 못해서 아직 이해가 잘 안되네요.
글씨 크기를 바꾸려면 어떤 것을 건드려야 하나요??
-----------------------------------------------------------------------------------XML 파일 소스-------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:gravity="center_horizontal"
>
<EditText
android:id = "@+id/yEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = " "/>
<TextView
android:id = "@+id/yText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = "년"/>
<EditText
android:id = "@+id/mEdit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = " "/>
<TextView
android:id = "@+id/mText"
android:layout_width = "wrap_content"
android:layout_height="wrap_content"
android:text="월"
/>
<Button
android:id = "@+id/move"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = "이동"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical" >
<GridView
android:id="@+id/grid1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:gravity="center"
android:numColumns="7"
android:stretchMode="columnWidth" >
</GridView>
</LinearLayout>
</LinearLayout>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------java소스------------------------------------------------------------------------------
package cbnu.mj.shedule;
import java.util.ArrayList;
import java.util.Date;
import cbnu.mj.shedule.R;
import cbnu.mj.shedule.R.id;
import cbnu.mj.shedule.R.layout;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.GridView;
public class calendar extends Activity implements OnClickListener, OnItemClickListener {
/** Called when the activity is first created. */
ArrayList<String> mItems;
ArrayAdapter<String> adapter;
EditText textYear,textMon;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendarlay);
textYear = (EditText) findViewById(R.id.yEdit);
textMon = (EditText) findViewById(R.id.mEdit);
mItems = new ArrayList<String>();
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mItems);
GridView grid = (GridView) findViewById(R.id.grid1);
grid.setAdapter(adapter);
grid.setOnItemClickListener(this);
Date date = new Date();
int year = date.getYear() + 1900;
int mon = date.getMonth() + 1;
textYear.setText(year+"");
textMon.setText(mon+"");
fillDate(year,mon);
Button btnmove = (Button) findViewById(R.id.move);
btnmove.setOnClickListener(this);
}
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()){
case R.id.move:
String sYear = textYear.getText().toString();
String sMon = textMon.getText().toString();
int year = Integer.valueOf(sYear);
int mon = Integer.valueOf(sMon);
fillDate(year, mon);
break;
}
}
private void fillDate(int year,int mon){
mItems.clear();
mItems.add("일");
mItems.add("월");
mItems.add("화");
mItems.add("수");
mItems.add("목");
mItems.add("금");
mItems.add("토");
Date current = new Date(year-1900,mon-1,1);
int day = current.getDay();
//시작점 찾기
for(int i = 0 ; i<day; i++){
mItems.add("");
}
//그달의 마지막날 구하는식
current.setDate(32);
int last = 32-current.getDate();
//날짜 채우기
for(int i = 1;i<=last;i++){
mItems.add(i+"");
}
adapter.notifyDataSetChanged();
}
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
// TODO Auto-generated method stub
if(mItems.get(position).equals("")){
;
}else{
Intent intent = new Intent(this,ExToday.class);
intent.putExtra("Param1", textYear.getText().toString() + "/" + textMon.getText().toString()+"/"+mItems.get(position));
startActivity(intent);
}
}
}