1.如何用android设计一个日历
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
2.如何用android设计一个日历
import android.graphics.drawable.BitmapDrawable;import android.os.Bundle;import android.view.Gravity;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.view.animation.AnimationUtils;import android.widget.Button;import android.widget.LinearLayout;import android.widget.PopupWindow;import android.widget.RelativeLayout;import android.widget.TextView;。
3.Android 日历问题
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Calendar calendar=Calendar.getInstance(); DatePickerDialog dialog=new DatePickerDialog(getActivity(), dateListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); dialog.show(); } });///////////////////////////////////////////////////////////////////////////////////////////////////// DatePickerDialog.OnDateSetListener dateListener=new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub button.setText(year+"-"+monthOfYear+"-"+dayOfMonth); } };//监听一下选择器就行了。
4.做一个android日历,从哪儿入手
如果你搭建好环境的话建议你先学一下view布局
首先你要在第一个activity创建一个垂直布局的LinearLayout,
然后再新建个水平布局的LinearLayout用来承载上面按钮的年月日
另外再建个垂直的LinearLayout
在下面这个LinearLayout新建1个水平的LinearLayout来循环生成7个标头“星期一,星期二”这样的
然后在循环建4个LinearLayout循环生成日期实体框
标题框和日期框分别新建一个类,继承view函数,在循环里面生成,构造函数填入宽高
这两个类里面分别重构ondraw()函数。
这样就ok了
5.安卓日历整体布局是怎么实现的
自定义日历控件,支持旧历、节气、日期标注、点击操作 (参考网络上的日历控件改写)注:将下面的四张资源图片拷贝到所建包的下一个image目录中,如Calendar.java 所在包为cc.util.android.view,则需要再创建一个包cc.util.android.view.image 然后将图片拷贝进去/****************从此出开始将代码拷贝到一个文件中*******************/package cc.util.android.view;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.List;import java.util.Locale;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.BitmapFactory;import android.graphics.Color;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.graphics.drawable.StateListDrawable;import android.text.TextUtils.TruncateAt;import android.util.AttributeSet;import android.view.GestureDetector;import android.view.GestureDetector.OnGestureListener;import android.view.Gravity;import android.view.MotionEvent;import android.view.View;import android.view.ViewGroup;import android.view.View.OnTouchListener;import android.view.animation.Animation;import android.view.animation.Animation.AnimationListener;import android.view.animation.TranslateAnimation;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageButton;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.ViewFlipper;import android.widget.AbsListView.LayoutParams;/** * 日历控件,支持旧历、节气、日期标注、点击操作 (参考网络上的日历控件改写) * * @author wangcccong * @version 1.406 create at: Mon, 03 Sep. 2014 * update at: Mon, 23 Sep. 2014 * 新增日期标注和点击操作 */public class CalendarView extends LinearLayout implements OnTouchListener, AnimationListener, OnGestureListener { /** * 点击日历 */ public interface { void onCalendarItemClick(CalendarView view, Date date); } /** 顶部控件所占高度 */ private final static int TOP_HEIGHT = 40; /** 日历item中默认id从0xff0000开始 */ private final static int DEFAULT_ID = 0xff0000; // 判断手势用 private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_MAX_OFF_PATH = 250; private static final int SWIPE_THRESHOLD_VELOCITY = 200; // 屏幕宽度和高度 private int screenWidth; // 动画 private Animation slideLeftIn; private Animation slideLeftOut; private Animation slideRightIn; private Animation slideRightOut; private ViewFlipper viewFlipper; private GestureDetector mGesture = null; /** 上一月 */ private GridView gView1; /** 当月 */ private GridView gView2; /** 下一月 */ private GridView gView3; boolean bIsSelection = false;// 是否是选择事件发生 private Calendar calStartDate = Calendar.getInstance();// 当前显示的日历 private Calendar calSelected = Calendar.getInstance(); // 选择的日历 private gAdapter; private gAdapter1; private gAdapter3; private LinearLayout mMainLayout; private TextView mTitle; // 显示年月 private int = 0; // 当前视图月 private int iMonthViewCurrentYear = 0; // 当前视图年 private static final int caltitleLayoutID = 66; // title布局ID private static final int calLayoutID = 55; // 日历布局ID private Context mContext; /** 标注日期 */ private final List markDates; private mListener; public CalendarView(Context context) { this(context, null); } public CalendarView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub mContext = context; markDates = new ArrayList(); init(); } // 初始化相关工作 protected void init() { // 得到屏幕的宽度 screenWidth = mContext.getResources().getDisplayMetrics().widthPixels; // 滑动的动画 slideLeftIn = new TranslateAnimation(screenWidth, 0, 0, 0); slideLeftIn.setDuration(400); slideLeftIn.setAnimationListener(this); slideLeftOut = new TranslateAnimation(0, -screenWidth, 0, 0); slideLeftOut.setDuration(400); slideLeftOut.setAnimationListener(this); slideRightIn = new TranslateAnimation。
转载请注明出处众文网 » android日历毕业论文