『壹』 為什麼android的日歷最前只能到
早期android日歷用了大量的android.text.format.Time ,這個類中millis為0時即表示1970年1月1日
android5.0後這個問題得到改善,nexus 5刷5.0後就能夠顯示1900-2100年了
『貳』 安卓日歷的介紹
安卓日歷是一款功能最全、同類軟體最小(不到1M)的日歷記事軟體。具有日視圖、月視圖、記事、星座運勢等功能,結合農歷、黃歷、節氣等,更加符合中國人的使用習慣。軟體設置靈活,支持桌面美化小部件。安卓日歷一款很實用的日歷小部件,界面簡潔,可以添加每日待辦事件。該軟體在顯示方面陽歷、農歷結合,界面簡潔大方。能方便管理時間,是一款實用又小巧的日歷小插件。
『叄』 android 仿預訂日歷時間選擇(如去哪兒,攜程
看標題就知道了,一個日歷選擇,類似於去哪兒,攜程,酒店預訂功能
調用方法
package com.fly.caldroid;import android.annotation.SuppressLint;import android.app.Activity;import android.content.Intent;import android.content.res.Configuration;import android.os.Bundle;import android.view.View;import com.wz.caldroid.CalendarCellDecorator;import com.wz.caldroid.CalendarPickerView;import java.util.ArrayList;import java.util.Calendar;import java.util.Collections;import java.util.Date;@SuppressLint("SimpleDateFormat")public class CaldroidActivity extends Activity { private CalendarPickerView calendar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.calendar_activity); Bundle myBundle = getIntent().getExtras(); long seleteTime = myBundle.getLong("selete_time"); final Calendar nextYear = Calendar.getInstance(); nextYear.add(Calendar.MONTH, 3); final Calendar lastYear = Calendar.getInstance(); lastYear.add(Calendar.MONTH, 0); calendar = (CalendarPickerView) findViewById(R.id.calendar_view); Calendar today = Calendar.getInstance(); ArrayList<Date> dates = new ArrayList<Date>(); if (seleteTime>0){
Date d1=new Date(seleteTime); dates.add(d1); }else{
dates.add(today.getTime()); } calendar.setDecorators(Collections.<CalendarCellDecorator>emptyList()); calendar.init(lastYear.getTime(), nextYear.getTime()) // .inMode(CalendarPickerView.SelectionMode.MULTIPLE) // .withSelectedDate(dates.get(0)); initButtonListeners(); } private void initButtonListeners() { calendar.setOnDateSelectedListener(new CalendarPickerView.OnDateSelectedListener() { @Override public void onDateSelected(Date date) {
Intent intent = new Intent(); intent.putExtra("SELETE_DATA_TIME", calendar.getSelectedDate().getTime()); setResult(2, intent); finish(); } @Override public void onDateUnselected(Date date) {
}
}); View titlebar_img_back=findViewById(R.id.titlebar_img_back); titlebar_img_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
finish(); }
}); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); }
}
layout======
calendar_activity
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:id="@+id/title_content_layout" android:layout_width="match_parent" android:layout_height="47.5dp" android:background="@color/big_red"> <TextView android:id="@+id/titlebar_text_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_marginLeft="10dp" android:layout_toRightOf="@+id/titlebar_img_back" android:maxEms="8" android:singleLine="true" android:text="選擇日歷" android:textColor="@color/white" android:textSize="18sp" android:visibility="visible" /> <ImageView android:id="@+id/titlebar_img_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:padding="5dp" android:src="@drawable/back_ic" android:visibility="visible" /> </RelativeLayout> <com.wz.caldroid.CalendarPickerView android:id="@+id/calendar_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingBottom="16dp" android:scrollbarStyle="outsideOverlay" android:clipToPadding="false" android:background="#FFFFFF" /></LinearLayout>
在textview上顯示時間
package com.fly.caldroid;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.TextView;import java.text.SimpleDateFormat;import java.util.Date;public class MainActivity extends AppCompatActivity { private long seleteTime = 0; private TextView time_choice_view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); time_choice_view = (TextView) findViewById(R.id.time_choice_view); time_choice_view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle.putLong("selete_time", seleteTime); intent.putExtras(bundle); intent.setClass(MainActivity.this, CaldroidActivity.class); startActivityForResult(intent, 5); }
}); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 5) { if (resultCode == 2) { seleteTime = data.getLongExtra("SELETE_DATA_TIME", 0); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date d1 = new Date(seleteTime); String t1 = format.format(d1); if (seleteTime > 0) { time_choice_view.setText(t1); } else { return; }
}
} super.onActivityResult(requestCode, resultCode, data); }
}
『肆』 android日歷控制項
1.DatePicker
在Android中,DatePicker用來實現日期輸入設置,日期的設置范圍為1900年1月1日至2100年12月31日。
1.1常用xml屬性
DatePicker的常用xml屬性如圖1所示:
圖1 DatePicker常用xml屬性
其中,android:calendarViewShown[boolean]用於設置是否顯示calendar view;android:endYear[int]用於設置截至日期;android:maxDate[int]用於設置最大的日期;android:minDate[int]用於設置最小的日期;android:spinnersShown[boolean]用於設置是否顯示spinners;android:startYear[int]用於設置起始日期。
1.2常用方法
DatePicker的常用方法有以下一些:
(1)public CalendarView getCalendarView(); //獲取CalendarView
(2)public boolean getCalendarViewShown(); //獲取CalendarView是否顯示
(3)public int getDayOfMonth(); //獲取當前日期的日
(4)public long getMaxDate(); //獲取最大日期
(5)public long getMinDate(); //獲取最小日期
(6)public int getMonth(); //獲取當前日期的月
(7)public boolean getSpinnersShown(); //獲取Spinners是否顯示
(8)public int getYear(); //獲取當前日期的年
(9)public void init(int year,int monthOfYear,int dayOfMonth,
DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期
(10)public void setCalendarViewShown(boolean shown);//設置是否顯示CalendarView
(11)public void setMaxDate(long maxDate); //設置最大日期
(12)public void setMinDate(long minDate); //設置最小日期
(13)public void setSpinnersShown(boolean shown); //設置是否顯示Spinners
(14)public void updateDate(int year,int month,int dayOfMonth); //更新當前日期2.TimePicker
在Android中,TimePicker用來實現時間輸入設置,可以選擇12或24小時模式。TimePicker的常用方法有以下一些:
(1)public Integer getCurrentHour(); //獲取當前時間的小時
(2)public Integer getCurrentMinute(); //獲取當前時間的分鍾
(3)public boolean is24HourView(); //獲取是否為24小時模式
(4)public void setCurrentHour(Integer currentHour); //設置當前時間的小時
(5)public void setCurrentMinute(Integer currentMinute); //設置當前時間的分鍾
(6)public void setIs24HourView(Boolean is24HourView); //設置24小時模式3.DatePickerDialog
在Android中,DatePickerDialog用來顯示日期對話框。DatePickerDialog的常用方法有以下一些:
(1)public DatePicker getDatePicker(); //獲取DatePicker中的日期值
(2)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件
(3)public void onDateChanged(DatePicker view,int year,int month,int day); //響應日期改變事件
(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新當前日期4.TimePickerDialog
在Android中,TimePickerDialog用來顯示時間對話框。TimePickerDialog的常用方法有以下一些:
(1)public void onClick(DialogInterface dialog,int which); //響應對話框中的點擊事件
(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //響應時間改變事件
(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新當前時間5.AnalogClock
在Android中,AnalogClock用於顯示指針式時鍾,該時鍾僅有時鍾和分鍾兩個指針。6.DigitalClock
在Android中,DigitalClock用來顯示數字式時鍾,顯示格式為HH:MM:SS AM/PM。
『伍』 如何實現往android手機系統日歷插入數據
首先,要了解一下CalendarProvider,這個知識點大家可以上網網路得到,我就不多說了,我在項目裡面用到了CalendarContract.Events這個表格。這個表保存了特定的事件信息。在這個表中每一行都有單一事件的信息,如事件的標題、位置、開始時間、結束時間等。這個事件能夠發生一次或重復發生多次。會議、提醒和擴展的屬性被保存的獨立的表中,它們都有一個EVENT_ID跟Events表中的_ID進行關聯。
『陸』 android系統 日歷
,豌豆莢、91助手,裡面多的是
『柒』 最好的安卓日歷是什麼
安卓作為熱門系統,不僅推出了各種各樣的應用,也有多款自己的日歷。
安卓日歷 aCalendar+
aCalendar +是aCalendar的高級版本
aCalendar +為您提供許多額外的日歷功能和您的購買支持進一步發展,並有助於保護瀕危山地貘。
額外功能(僅aCalendar +)
日程視圖
可擴展性和可滾動的議程部件(安卓4.0,鎖屏功能)
谷歌任務(安卓4.0)
管理谷歌日歷(安卓4.0)
公眾假期(從日歷列表中添加)為AT,AU,BE,BR,CA,CH,CY,CZ,DE,DK,ES,FI,FR,GR,HR,HU,IE,IT,JP,KR,LU,MX,NL,NZ,NO,PL,PT,RU,SE,SK,TR,UA,UK,US
鏈路日歷事件,聯系人
文本和文件共享選項
更多的顏色主題(4燈+4黑暗的主題,安卓4.0)
隱私以及可否訂購將設置
創建新的本地日歷(安卓4.0)
管理與會者和邀請
拖放在日視圖(安卓4.0,雙點住)
三星S筆/手寫筆支持(鳥瞰圖和導航,沒有畫!)
自動完成對輸入(位置,僅此而已)
簡訊和電子郵件提醒谷歌日歷(安卓4.0)
總結
通過了解這些功能,用戶可以更好地使用安卓最好的一款日歷,也能夠使查找日歷的方法以及過程更加簡便。
『捌』 開發Android 日歷教程
一、創建
Android
Project
在新建對話框中輸入
App
屬性,SDK版本全部選最新的,不作版本兼容。主題選擇
Holo
Dark。
下一步,使用默認設置
下一步,使用默認設置
下一步,使用默認配置
下一步,使用默認設置
創建完成後的初始畫面
在上面的步驟中,我們選擇了創建
MainActivity,ADT
幫我們在
src
目錄下生成了
MainActivity.java
文件,在
res/layout/
目錄下生成了
activity_main.xml
文件,並在編輯窗口打開,如上圖,是
UI
界面定義文件,這是一個標準的
xml
文件,顯示的圖像就是由編輯器解析
xml
文件描繪出來的。點擊下方的
"Graphical
Layout"
和
“activity_main.xml"
可以在圖形編輯
和
xml
文本編輯器之間切換。
為了項目結構清晰,我們新建一個包,專門用來放
activity:
包名定為
ui.activity
這里,將
Package
Explorer
的顯示方式改為
Hierarchical
拖動
MainActivity.java
到
ui.activity
包下,彈出更新對話框,選擇OK。
由於改變了
activity
的位置,我們需要更新
AndroidManifest.xml,更正
Application
的配置。
如下圖,雙擊打開
AndroidManifest.xml,選擇
Application
標簽頁,選中
Application
Nodes
中的
MainActivity,右邊的
Name
屬性是錯誤的,點擊
Browse
重新選擇,設為:com.lingsmm.purelunarcalendar.ui.acivity
繼續向下拉,將
Screen
orientation
設置為
”sensorLandscape“,表示屏幕方向是橫屏,並感應重力方向作調整。
界面編輯窗口上方是工具欄:
1:多屏預覽,如果你的程序要兼容多種尺寸的設備,可以選擇此項。
2:主屏尺寸設定(我們的應用,不作兼容,只針對
google
Nexus
7,將此選擇為
Nexus
7,以10”畫面進行編輯布局)
3:屏幕方向,我們選擇橫屏
4:主題
5:關聯的
Java
類,Context
實例由它創建。
6:多語言支持。
7:系統版本選擇,如果兼容多版本,可以選擇不同版本進行預覽。
『玖』 使用android自帶的日歷控制項怎麼標記特定的
初始情況
3.這里還要感謝前輩的代碼作為參考,畢竟以前也沒有寫過關於日歷方面的東西,別人確實寫得不錯,我在原基礎上加入了資料庫操作等補充,以完成自己實際需求,作為尊重首先給出原作者的連接
就是這里–>Android自定義控制項實現可多選課程日歷CalendarView
4.然後貼出來關於資料庫操作的代碼,給大家作為參考
DatabaseHelper .java 這是關於簡單資料庫操作的部分
package com.xugongming38.editcalendar.utils;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/*** Created by dell on 2017/5/18.*/public class DatabaseHelper extends SQLiteOpenHelper {public static final String CREATE_DIARY = "create table Hair("+ "id integer primary key autoincrement, "+ "content text)";private Context mContext;public DatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version){super(context, name, factory, version);mContext = context;}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_DIARY);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("drop table if exists Hair");onCreate(db);}}DataHelper .java 簡化數據操作介面,避免直接操作資料庫,做了再一層的封裝,建議讀者也這樣做,可以讓代碼更清晰,更容易復用
『拾』 如何用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;