Android 如何在canvas上层显示其他控件

Android 如何在canvas上层显示其他控件,第1张

我是在activity里面对控件所在的relativelayout进行了scrollBy,这样就会出现绘制不出屏幕外的那部分,是因为控件限制了大小么?该怎么写比较好,这是我的拖动代码@Override public boolean onTouchEvent(MotionEvent event) { switch (eventgetAction()) { case MotionEventACTION_DOWN: currentX = (int) eventgetRawX(); currentY = (int) eventgetRawY(); break; case MotionEventACTION_UP: break; case MotionEventACTION_MOVE: int x2 = (int) eventgetRawX(); int y2 = (int) eventgetRawY(); containerscrollBy(currentX-x2 , currentY-y2 ); currentX=x2; currentY=y2; metroViewinvalidate(); default: break; } return superonTouchEvent(event); }

1DatePicker

在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日。

11常用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]用于设置起始日期。

12常用方法

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,

DatePickerOnDateChangedListener 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);  //更新当前日期

2TimePicker

在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小时模式

3DatePickerDialog

在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);              //更新当前日期

4TimePickerDialog

在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);                       //更新当前时间

5AnalogClock

在Android中,AnalogClock用于显示指针式时钟,该时钟仅有时钟和分钟两个指针。

6DigitalClock

在Android中,DigitalClock用来显示数字式时钟,显示格式为HH:MM:SS AM/PM。

Android搞图表的框架是有的。但是目前还没有哪个框架做得很精美。遇到这样的图表需求。有两种解决方案:第一,自己定制框架(亦可在Android图表框架上进行优化改进);第二,Android应用中嵌入HTML页面,用js来实现图表 (JS精美的图表框架太多了)。

为控件设置一个有阴影感的背景即可,可以使用shape

在自定义shape中增加一层或多层,并错开,即可显示阴影效果。为增加立体感,按钮按下的时候,只设置一层。我们可以通过top, bottom, right 和 left 四个参数来控制阴影的方向和大小

//自定义两种阴影效果

第一种

<xml version="10" encoding="utf-8">

<selector xmlns:android=";

第二种

<xml version="10" encoding="utf-8">

<selector xmlns:android=";

设置后的效果图如下

MultiPictureView是一个可以将多张以网格的方式显示的View,通过简单的接口实现烦人的布局,从此解放你的小手手

第一步:添加到根buildgradle

第二步:在模块的buildgradle添加依赖

在Demo中使用了下面两个开源项目,感谢一哈,虽然第二个是我写的大家要觉得好用,记得给我点个赞

你用的ADT版本是多少?版本够高的话,可以在布局预览界面选择一个设备作为预览的模板设备(当然是根据你的UI去选择合理尺寸的设备),或者预览你的UI在所有已有设备上的显示情况,你甚至可以自定义一个设备(自己设定宽和高、屏幕dpi)来作为模板设备,这当然就能够解决你的问题了

Android四大组件有Activity,Service服务,Content Provider内容提供,BroadcastReceiver广播接收器。

Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起。在manifest中,描述了每一个组件以及组件的作用,其中有6个组件,它们是Android应用程序的基石

扩展资料

Activities(活动)

应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的扩展。Activity使用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个Activity相当于一张Form。

Services(服务)

Android应用程序中不可见的“工人”。 Service组件运行时不可见,但它负责更新的数据源和可见的Activity,以及触发通知。它们常用来执行一些需要持续运行的处理,当你的 Activity已经不处于激活状态或不可见。

Content(内容)

提供共享的数据存储。Content Provider(内容提供器)用来管理和共享应用程序的数据库。在应用程序间,Content Provider是共享数据的首选方式。

Broadcast Receivers(广播接收器)

Intent广播的“消费者”。通过创建和注册一个Broadcast Receiver,应用程序可以监听符合特定条件的广播的Intent。Broadcast Receiver 会自动的启动你的Android应用程序去响应新来的Intent。Broadcast Receiver是事件驱动程序的理想手段。

参考资料来源:百度百科-Android组件

以上就是关于Android 如何在canvas上层显示其他控件全部的内容,包括:Android 如何在canvas上层显示其他控件、android自带日期控件怎么调用、android用什么控件实现这种图表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9669644.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存