Android各种时间选择器与日历?

导读:本篇文章讲解 Android各种时间选择器与日历?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、实现多种时间选择器

Android各种时间选择器与日历?

1.点击跳出弹框,选择年月日(使用到units目录下的menPopupWindow类)

Android各种时间选择器与日历?

package com.ruidde.csndresourcedemo.units;

import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;

import com.ruidde.csndresourcedemo.R;

public class menPopupWindow {  private Context context;
    private PopupWindow menuWindow;
    private LayoutInflater inflater = null;
    private CalendarView calendarView;
    public menPopupWindow(Context context){
        this.context = context;
        inflater = LayoutInflater.from(context);
    }
    /**
     * 初始化popupWindow
     *
     * @param view
     */
    public void showPopwindow(View view) {
        menuWindow = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        menuWindow.setFocusable(true);
        menuWindow.setBackgroundDrawable(new BitmapDrawable());
        // 动画效果 从底部弹起
        menuWindow.showAtLocation(view, Gravity.BOTTOM, 0, 0);
        // 从指定View下显示
//    menuWindow.showAsDropDown(view);

        menuWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                menuWindow = null;
            }
        });
    }
    public void showPopwindowDowm(View v ,View view) {
        menuWindow = new PopupWindow(view, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
        menuWindow.setFocusable(true);
        menuWindow.setBackgroundDrawable(new BitmapDrawable());
        // 动画效果 从中间
      menuWindow.showAtLocation(view, Gravity.CENTER, 0, 0);
        // 从指定View下显示
//        menuWindow.showAsDropDown(v);
        menuWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                menuWindow = null;
            }
        });
    }
    /**
     * 选择器加网络请求
     * @return
     */
    private String ValuesR = null;
    public View getStringRequestListPick(final View showView ,String currentTime) {
        View view = inflater.inflate(R.layout.activity_calender, null);
          calendarView = (CalendarView) view.findViewById(R.id.calendarview);
          calendarView.setDate(currentTime);
          calendarView.setOnDateSelectedListener(new CalendarView.OnDateSelectedListener() {
            @Override
            public void onDateSelected(int year, int month, int day) {
                Toast.makeText(context, year+"=" + month + "=" + day, Toast.LENGTH_SHORT).show();
                setRequst(showView , year+"-" + month + "-" + day);
                dismissPopwindow();
            }
        });
        return view;
    }
    public void dismissPopwindow(){
        if (menuWindow != null && menuWindow.isShowing()) {
            menuWindow.dismiss();
        }
    }
    /**
     * 显示选择数据
     * */
    private void setRequst(View view, String requst){
        if (view instanceof TextView) {
            ((TextView)view).setText(requst);
        } else if (view instanceof EditText) {
            ((EditText)view).setText(requst);
        } else if (view instanceof Button) {
            ((Button)view).setText(requst);
        }
    }

}

在Acticity中使用

btn_send.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        PopupWindow = new menPopupWindow(context);
        PopupWindow.showPopwindowDowm(btn_send, PopupWindow.getStringRequestListPick(tv_content, cirrentTime));
    }
});

2.使用Whell实现年月日 、时间、单个滚轮选择器(DateLianDongActivity)主要引用类在widget目录下:

Android各种时间选择器与日历?Android各种时间选择器与日历?Android各种时间选择器与日历?

3.获取系统时间、截取时间、星期几(GetDateTimesActivity)

Android各种时间选择器与日历?

4.自定义年月日的选择(CustomDateActivity)主要引用的类在dateYears目录下

Android各种时间选择器与日历?

5.自定义日历,对当前日期进行标记且只能选择未来的日期(当然可以根据需要自定义),点击上月或下月的日期可以跳转当对应的月份。也可以自己添加按钮来选择上一月或者下一月(代码有已注销)。(CustomRiLiActivity)

Android各种时间选择器与日历?

7.自定义时间选择器,显示的时间不能到过系统当前时间并且实现月份与日联动(CoustEndDateActivity)

主要实现在java下的checkdate目录下 :Android各种时间选择器与日历?

Android各种时间选择器与日历?

Android各种时间选择器与日历?

Android各种时间选择器与日历?

大家需要可以进入下面链接下载源码:https://download.csdn.net/download/yyxhzdm/12849466

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119215.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!