导航:首页 > APP软件 > 安卓calendarview属性

安卓calendarview属性

发布时间:2023-05-14 17:04:40

⑴ Android下几个相关的时间日期控件的用法

获取年月日,之前的日期不能选择

日历c = Calendar.getInstance(); //获取系统工具类【可以获取时间】DatePickerDialog datePickerDialog = new DatePickerDialog(context,new DatePickerDialog.OnDateSetListener(){@覆盖public void onDateSet(DatePicker view,int year,int month,int dayOfMonth){月+ = 1;yuyueTime.setText(year +“ - ”+ month +“ - ”+ dayOfMonth);}},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DATE)); //设置默认时间。datePickerDialog.getDatePicker()setMinDate(c.getTime()的getTime()); //设置最小值datePickerDialog.show();

相关类的认识
选取器(的DatePicker,TimerPicker,NumberPicker)
其中的DatePicker和TimerPicker都有窗口的形式显示日期和时间,再返回数据。

下面分别介绍这几种时间类的使用方法。

一.DatePicker日期选择类的使用

DatePicker的常用的XML属性

XML属性

描述

机器人:calendarViewShown 设置该日期选择是否显示CalendarView组件。

机器人:endYear 设置日期选择器允许选择的最后一年。

安卓的maxDate 设置该日期选择器的最大日期。以MM / DD / YYYY格式指定最大日期。

安卓的minDate 设置该日期选择器的最小日期。以MM / DD / YYYY格式指定最小日期。

机器人:spinnersShown 设置该日期选择器是否显示微调日期选择组件。

机器人:startYear 设置日期选择器允许选择的第一年。


当用户更改了的DatePicker里的年,月,日时,将触发OnDateChangedListener监听器的onDateChange()事件。

二.TimePicker日期选择类的使用


当用户更改了TimePicker里的时,分时,将触发OnTimeChangedListener监听器的onTimeChanged事件。

下面是日期选择类和时间选择类的一个使用示例:

(一)布局文件设计

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="显示日期的控件" /><DatePicker android:id="@+id/main_dp"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="显示时间的控件" /><TimePicker android:id="@+id/main_tp_showTime"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextView android:id="@+id/main_tv_showdate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="显示日期" /><TextView android:id="@+id/main_tv_showtime"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="显示时间" /></LinearLayout>

⑵ 为什么CalendarView控件的属性都无效

可能是软件故障。
建议重启,或者卸载软件,清理缓存,重新安装即可。日历控件定制是移动开发平台上比较常见的而且比较难的需求,但现在有了全新闹慧悉的CalendarView控件,它解锁了各碧告种姿势,而且你可以任意定液乎制。

⑶ 安卓日历整体布局是怎么实现的

自定义日历控件,支持旧历、节气、日期标注、点击操作 (参考网络上的日历控件改写)
注:将下面的四张资源图片拷贝到所建包的下一个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
* <br>update at: Mon, 23 Sep. 2014
* 新增日期标注和点击操作
*/
public class CalendarView extends LinearLayout implements OnTouchListener,
AnimationListener, OnGestureListener {

/**
* 点击日历
*/
public interface OnCalendarViewListener {
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 CalendarGridViewAdapter gAdapter;
private CalendarGridViewAdapter gAdapter1;
private CalendarGridViewAdapter gAdapter3;

private LinearLayout mMainLayout;
private TextView mTitle; // 显示年月

private int iMonthViewCurrentMonth = 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<Date> markDates;

private OnCalendarViewListener 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<Date>();
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

⑷ 如何使用Exchange Web Service获取日历

如何使用Exchange Web Service获取日历
(1)首先生成代理类

ExchangeServiceBinding _ExchangeBinding = new ExchangeServiceBinding();
_ExchangeBinding.Credentials = new NetworkCredential(username, password, domain);
_ExchangeBinding.Url = Helper.GetWebconfig("exchangewebservice");

(2)定义请求的属性
请注意:在定义请求属性时,一定正册凳要定义CalendarViewType属性,默认的日历返回是不含循环日历的,
如果需要返回循环会议请举旅求,就需姿返要等译CalendarView

FindItemType findItemRequest = new FindItemType();

ItemResponseShapeType itemProperties = new ItemResponseShapeType();
itemProperties.BaseShape = DefaultShapeNamesType.AllProperties;
findItemRequest.ItemShape = itemProperties;

//我们查找的是日历
DistinguishedFolderIdType[] folderIDs = { new DistinguishedFolderIdType { Id = DistinguishedFolderIdNameType.calendar } };
findItemRequest.ParentFolderIds = folderIDs;

//增加搜索的日历范围,红色代码要饭服务器返回循环会议

CalendarViewType cldview = new CalendarViewType();
cldview.StartDate = dt.AddDays(-2);
cldview.EndDate = dt.AddDays(2);
findItemRequest.Item = cldview;

findItemRequest.Traversal = ItemQueryTraversalType.Shallow;

阅读全文

与安卓calendarview属性相关的资料

热点内容
win10任务栏文件夹我的电脑 浏览:14
安卓nba2k18 浏览:776
文件夹密码怎么修改密码 浏览:271
苹果数据中心用什么服务器 浏览:769
省内圆通快递寄文件夹需要多少钱 浏览:740
iphone程序加密 浏览:884
win10文件夹调整文件行高 浏览:681
创意手绘教程 浏览:754
微信删除帐号信息 浏览:596
mysql操作类文件 浏览:649
绕过xp密码 浏览:158
大众速腾专用app有哪些 浏览:455
arpa首先将计算机网络划分为 浏览:617
苹果系统开机音乐 浏览:875
windows8显示隐藏文件 浏览:603
ipad2可以升级到92吗 浏览:857
如何打开ps保存的文件 浏览:744
幼儿编程教育有哪些 浏览:453
汽车发外地用什么app 浏览:810
网络如何赞美女人漂亮 浏览:143

友情链接