个人项目-值班神算总结

来源:互联网 发布:最新淘宝浏览单app 编辑:程序博客网 时间:2024/04/30 17:15

1、GridView的用法

(1)调用及Adapter的设置

GridView gridView = (GridView) findViewById(R.id.gridview);gridView.setOnItemClickListener(new OnItemClickListener() {});MyCalendarAdapter calV = new MyCalendarAdapter(this);gridView.setAdapter(calV);

(2)MyCalendarAdapter中的主要函数

@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stub// load layoutif (null == convertView) {convertView = LayoutInflater.from(context).inflate(R.layout.overall_calendar_item, null);}TextView calenarTextView = (TextView) convertView.findViewById(R.id.tvCalendarText);calenarTextView.setText("XXXXXX");return convertView;}


2、时间的使用和转换

(1)获取时间并转换为String

Date date = new Date();SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String currentTime = formater.format(date);

(2)将String类型的时间转换成long

String chooseDate = "2015-03-03 09:05:11";long chooseTime = 0;try {formater.setLenient(false);chooseTime = formater.parse(chooseDate).getTime();} catch (Exception e) {e.printStackTrace();}

3、自定义控件

主要为Button形式的,方法为自己自定义设置Button的背景及点击的样式。

(1)控件的调用(与Button类似)

LinearLayout preMonth = (LinearLayout) findViewById(R.id.btn_pre_month);preMonth.setOnClickListener(new OnClickListener() {});

(2)控件的源码

<LinearLayoutandroid:id="@+id/btn_pre_month"android:layout_width="0.0dip"android:layout_height="fill_parent"android:layout_weight="0.2"android:gravity="center"android:orientation="vertical" ><TextViewandroid:id="@+id/left_img"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="@drawable/triangle06_states"android:duplicateParentState="true"android:textSize="16.0dip" /></LinearLayout>

(3)点击效果的样式(通过改变点击与未点击的背景图片)

<?xml version="1.0" encoding="utf-8"?><selector  xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="true" android:drawable="@drawable/triangle06_pressed" />    <item android:drawable="@drawable/triangle06" /></selector>


4、按返回键退出的效果

2秒内两次按下返回键即退出,按下一次返回键弹出提示。

@Overridepublic boolean dispatchKeyEvent(KeyEvent event) {// TODO Auto-generated method stubint keyCode = event.getKeyCode();int keyAction = event.getAction();switch (keyCode) {case KeyEvent.KEYCODE_BACK:if (KeyEvent.ACTION_DOWN == keyAction) {if (false == mReadyExit) {mReadyExit = true;Toast.makeText(this, R.string.tip_exit, Toast.LENGTH_SHORT).show();if (null != mExitTask) {mExitTask.cancel();}mExitTask = new ExitTask();mExitTimer.schedule(mExitTask, 2000);} else {sendBroadcast(new Intent(ACTION_EXIT));finish();}return true;}}return super.dispatchKeyEvent(event);}

    class ExitTask extends TimerTask {        @Override        public void run() {            // TODO Auto-generated method stub            mReadyExit = false;        }    }
记得在OnCreate中要创建一个TimerTask的任务,即初始话mExitTimer

mExitTimer = new Timer();


<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">5、Activity的切换效果</span>

如果在startActivity或finish后调用Activity.overridePendingTransition方法,并指定显示和关闭Activity的动画效果,就会以动画方式显示和关闭Activity。

overridePendingTransition方法的定义如下:

public void overridePendingTransition(int enterAnim, int exitAnim); 

调用方法如下:

Intent intentAlarmClock = new Intent(MainActivity.this, AlarmClockActivity.class);startActivity(intentAlarmClock);overridePendingTransition(0, 0);




0 0
原创粉丝点击