1、Toast

  Toast用于显示提示信息。

  Toast不会获得焦点,没法关闭,过段时间会自动消失。

  使用方法:Toast.makeText获得Toast,并设置相关属性。调用Toast对象的show方法显示。

  默认情况,Toast只弹出一段话,如果想要更加复杂的Toast,可以调用Toast对象的setView方法。

2、Notification

  用来发送手机状态栏消息。手机的状态栏位于屏幕最上方。

  使用方法:

    • 构造一个Notification.Builder,并为Builder对象设置相关属性
    • 然后调用Builder对象的build方法,就可以构造出一个Notification对象。
    • 调用getSystemService(NOTIFICATION_SERVICE)获取NotificationManager对象,并使用NotificationManager对象的notify方法发送Notification。
      •   说明:getSystemService方法和NOTIFICATION_SERVICE常量都是Context类中声明的。

  常用方法:

    • setAutoCancel:点击消息后,状态栏将删除通知
    • setDefaults:设置通知的LED灯、音乐、震动等
      •   参数:

        • Notification.DEFAULT_SOUNT
        • Notification.DEFAULT_VIBRATE
        • Notification.DEFAULT_LIGHTS
        • Notification.ALL
    • setSound:设置通知的音乐
    • setLights:设置LED等
    • setVibrate:设置震动
    • setTicker:状态栏上通知的提示信息
    • setSmallIcon:设置通知图标
    • setContentTitle:设置内容标题
    • setContentText:设置内容文本
    • setContentIntent:如果设置了contentIntent,在点击这个通知时,将会启动Intent对应的组件。这个方法对应的参数为PendingIntent

  PendingIntent

    • Intent将会直接调用并启动对应的组件,但是对于像Notification这样的场景,并不是在产生消息的时候直接启动组件,而是在用户对消息进行某种操作的时候,才会启动组件,这个时候就需要使用PendingIntent。
    • 使用PendingIntent.getActivities来构造PendingIntent,其参数中将要使用Intent对象。

  

  在测试的时候,在Activity中通过getIntent获取到的Intent对象中,总是获取不到想要的信息。

  在网上搜索发现,如果使用了相同的Intent,在创建PendingIntent的时候需要设置Flags参数为PendingIntent.FLAG_CANCEL_CURRENT,如下所示。

  PendingIntent.getActivity(AtyNotification.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT)

    如果不是相同的Intent,Flags参数可不设置为PendingIntent.FLAG_CANCEL_CURRENT

   Intent intent2 = new Intent(Intent.ACTION_VIEW);
intent2.setData(Uri.parse("tel:10086"));
notification.setContentIntent(PendingIntent.getActivity(AtyNotification.this, 0, intent2, 0));

3、CalendarView,继承自FrameLayout

  用于显示和选择日期。

  使用setOnDateChangeListener监听日期变化。

4、DatePicker,继承自FrameLayout

  供用户选择日期。

  DatePicker没有setOnDateChangedListener方法,而是在DatePicker对象的init方法中,将OnDateChangedListener对象作为参数传递进去。

5、TimePicker,继承自FrameLayout

  供用户选择时间。

  TimePicker与DatePicker不同,它使用setOnTimeChangedListener来传递时间改变的事件监听器。

6、NumberPicker,继承自LinearLayout

  数字选择器。

  通过setMinValue和setMaxValue设置最大值和最小值;通过setValue设置当前值。

  通过setOnValueChangedListener传递数值改变的事件监听器。

  

7、SearchView,继承自LinearLayoutCompat

  搜索框。

  常用方法:

    • setIconifiedByDefault(boolean iconified):设置该搜索框默认是否自动缩小为图标
    • setSubmitButtonEnabled(boolean enabled):设置是否显示搜索框按钮
    • setQueryHint(CharSwquence hint):设置搜索框内默认显示的提示文本
    • setOnQueryTextListener(SearchView.OnQueryTextListener):为搜索框设置事件监听器

8、ScrollView,HorizontalScrollView,继承自FrameLayout

  垂直滚动体和水平滚动条,这是两个不同的控件,分别负责在垂直方向和水平方向的滚动条。

  滚动条内部只能放置一个控件。

9、TabHost,继承自FrameLayout,已不推荐使用

  与TabHost一起使用的类包括:TabWidget(标签条)和TabSpec(选项卡的一个页签)。

  当使用TabActivity来实现TabHost的时候,它的layout文件应该包含以下内容:

    • TabHost控件的id需要设置为:@android:id/tabhost
    • TabWidget控件的id需要设置为:@android:id/tabs
    • TabWidget需要包含一个FrameLayout,id为:@android:id/tabcontent

  向TabHost中添加页签的方式:

    • 生成TabSpec对象:TabSpec spec1= tabHost.newTabSpec("tabSpec1").setIndicator("标题1").setContent(R.id.tabSpec1);
    • 将TabSpec对象加入到tabHost中:tabHost.addTab(spec1);

  现在已经不推荐使用TabActivity,推荐使用Fragement代替TabActivity。

  

Android控件第6类——杂项控件的更多相关文章

  1. C#.NET 通用控件数据源绑定类

    using System.Data; using System.Collections; using System.Collections.Generic; using System.Web.UI; ...

  2. Android 图片混排富文本编辑器控件

    概述 一个Android 图片混排富文本编辑器控件(仿兴趣部落) 详细 代码下载:http://www.demodashi.com/demo/12032.html 一.一个Android 图片混排富文 ...

  3. Android自定义控件View(三)组合控件

    不少人应该见过小米手机系统音量控制UI,一个圆形带动画效果的音量加减UI,效果很好看.它是怎么实现的呢?这篇博客来揭开它的神秘面纱.先上效果图 相信很多人都知道Android自定义控件的三种方式,An ...

  4. 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing

    [源码下载] 背水一战 Windows 10 (34) - 控件(进度类): RangeBase, Slider, ProgressBar, ProgressRing 作者:webabcd 介绍背水一 ...

  5. 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch

    [源码下载] 背水一战 Windows 10 (33) - 控件(选择类): ListBox, RadioButton, CheckBox, ToggleSwitch 作者:webabcd 介绍背水一 ...

  6. 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox

    [源码下载] 背水一战 Windows 10 (32) - 控件(选择类): Selector, ComboBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(选择类) Sel ...

  7. 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButton, AppBarButton, AppBarToggleButton

    [源码下载] 背水一战 Windows 10 (31) - 控件(按钮类): ButtonBase, Button, HyperlinkButton, RepeatButton, ToggleButt ...

  8. 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox

    [源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...

  9. 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox

    [源码下载] 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox 作者:webabcd ...

随机推荐

  1. mybatis collection使用注意

    背景 今天我在使用collection时候,出现数据库有两条数据,但是却返回一条,在复制这条数据到四条后,依然返回一条 分析 这四条数据,数据库的每个字段值完全相同,所以估计是当成一条处理了 如果随便 ...

  2. ls操作总结

    la = ls -a ll = ls -l ls -lsh: ls -lsh train_log 看train_log的软链接的原始路径

  3. MySQL 基础三 函数(聚合、字符串、时间、条件判断)

    1.聚合 其它:GROUP_CONCAT.avg.sum.count.max.min SELECT typeid,GROUP_CONCAT(goodsname) FROM `goods` GROUP ...

  4. shell脚本编程需要的知识

    关于shell的预备知识 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁即用户界面.用户把指令传给shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执 ...

  5. Linux命令——head/tail

    一.head head主要是用来显示档案的开头至标准输出中,默认打印相应文件的开头10 行. 1)命令格式 head [参数] [文件] 2)常用参数 -q     隐藏文件名-v     显示文件名 ...

  6. 移动电力猫HG260GT pon实现路由拨号

    帐号CMCCAdmin密码aDm8H%MdA 需要将原来上网的路由模式改成如下图中的桥接模式 实际应该就是将上网vlan连接到了1号口,这样路由就可以通过一号口接入拨号了 修改后再通过无线接入路由就不 ...

  7. java算法----排序----(7)堆排序

    package log; import java.util.Arrays; public class Test4 { /** * 堆排序 * * @param args */ public stati ...

  8. win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建

    win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...

  9. android 环境的配置

    经过了长达好几天的她探索,一直出现各种问题,然后,也是一个一个的解决,但最后,解决烦了,就觉得重新开始配置android的环境了. 原来一直都是版本的问题,因为我之前下载的都是2014的版本,而这个版 ...

  10. Luogu P4587 [FJOI2016]神秘数

    一道好冷门的好题啊,算是对于一个小结论和数据结构的一点考验吧 首先看完题目我们发现要从这个神秘数的性质入手,我们观察or手玩可得: 如果有\(x\)个\(1\),那么\([1,x]\)都是可以表示出来 ...