Android下Notification,样式style,主题theme的功能实现
一:Notification
1.NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
2. notification.setLatestEventInfo(this, "国安部给你发短信!", "你被通辑啦~~~", contentIntent);
2.1: PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
2.1.1: Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:110"));
3.nm.notify(0,notification);
3.1:Notification notification = new
Notification(R.drawable.ic_launcher,"有新的消息到来了",System.currentTimeMillis());
4.为避免成为流氓软件,要: notification.flags = Notification.FLAG_AUTO_CANCEL;
详细代码:
- public class MainActivity extends Activity {
- private NotificationManager nm;
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
- }
- // 通知是显示在一个系统应用里面的, 如果系统应用ui挂了,通知就不会出来了。
- public void click(View view) {
- @SuppressWarnings("deprecation")
- Notification notification = new
- Notification(R.drawable.ic_launcher,"有新的消息到来了",System.currentTimeMillis());
- notification.flags = Notification.FLAG_AUTO_CANCEL;
- // //延期的意图,不是立刻执行的意图,最终这个意图是在另外一个应用程序里面执行
- Intent intent = new Intent();
- intent.setAction(Intent.ACTION_CALL);
- intent.setData(Uri.parse("tel:110"));
- PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
- //旧的api,一定要记得设置notification这一个参数
- notification.setLatestEventInfo(this, "国安部给你发短信!", "你被通辑啦~~~", contentIntent);
- nm.notify(0,notification);
- }
- }
运行结果:
二:样式:style(只能作用在控件上)
1.在res/values/styles.xml设置样式
<style name="text_content_style">
<!-- item里面是键值对! -->
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#FF0000</item>
<item name="android:textSize">20sp</item>
</style>
继承形式一
<style name="text_title_style" parent="@style/text_content_style">
<item name="android:textSize">30sp</item>
</style>
继承形式二
<style name="text_subtitle_style" parent="@style/text_content_style">
<item name="android:textSize">25sp</item>
</style>
2.使用样式:
<TextView
style="@style/text_title_style"
android:text="我是标题"/>
<TextView
style="@style/text_subtitle_style"
android:text="我是sub标题"/>
<TextView
style="@style/text_content_style"
android:text="我是文本"/>
3.效果图:
三:主题theme(作用在Activity或整个应用程序上Application)
1.在style.xml中配置:
参考:~\adt-bundle-windows-x86-20130729\sdk\platforms\android-16\data\res\values\themes.xml
第162行:Window attributes,可配置自己的Window attribute的主题。
注意:不同于系统的,自己要定义需要在name的字符串前加上:android: 如:
系统:
<item name="windowBackground">@android:drawable/screen_background_selector_dark</item>
自己:
<item name="android:windowBackground">@color/red</item>
<style name="red_theme">
<item name="android:windowBackground">@color/red</item>
</style>
2.在AndroidMainfest.xml中使用:
<activity
android:theme="@style/red_theme"
...
效果图:
Android下Notification,样式style,主题theme的功能实现的更多相关文章
- android中的样式和主题
有的时候我们一个页面要用很多个textview,而且这些textview的样式非常相像,这种情况下我们可以把这些样式抽取出来,然后在每个textview中引用即可,这样修改起来也方便. 我们来看一个简 ...
- 【Android】attr、style和theme
一.Attr 属性,风格样式的最小单元: Attr 的定义 在自定义 View 的时候,在 res/attrs.xml 文件中声明属性,而Android 系统的属性也是以同样的方式定义的.比如 lay ...
- Android零碎知识之Style and Theme
Android的styles资源文件中存在了我们在应用中定义的各种style,它们都是以style开始的元素,包含许多属性的集合.但我们一般般它们分为style和theme,那它们有什么区别呢? 一. ...
- android下的样式
android中控件,假如我们把样式都写死在控件的配置文件上的话.一旦改动可谓牵一发而动千军.那么我们能够把样式写在style.xml文件里.然后引用,在API14以上版本号. 该文件位于values ...
- [android] 安卓自定义样式和主题
简单练习自定义样式和主题,样式是加在View上,主题是加在Application或者Activity上 styles.xml <?xml version="1.0" enco ...
- android UI进阶之style和theme的使用
今天来和大家分享一下android中UI设计里面常会用到的style和theme. 首先,style和theme都是资源,android提供了很多这样的默认资源.你可以来使用它们.同时你也可以自己定义 ...
- ionic actionsheet在android下的样式问题
https://forum.ionicframework.com/t/actionsheets-android-ugly-styling-need-help/18462/10 想要修改ionic的样式 ...
- Android 下拉刷新上拉载入效果功能
应用场景: 在App开发中,对于信息的获取与演示.不可能所有将其获取与演示,为了在用户使用中,给予用户以友好.方便的用户体验,以滑动.下拉的效果动态载入数据的要求就会出现. 为此.该效果功能就须要应用 ...
- android 学习随笔十九(对话框、样式、主题、国际化 )
1.对话框 package com.itheima.dialog; import android.os.Bundle; import android.app.Activity; import andr ...
随机推荐
- Javascript网页特效开发技巧
Javascript网页特效开发技巧 相信很多人跟我一样,做网站开发已经有两到三年了,但大部分时间还是复制别人的代码,虽然能看懂别人的代码,同时也觉得别人写的代码很简单,但自己却写不出来: 我总结了一 ...
- 微信小程序 - 自定义swiper dots样式(非组件)
自定义须知: :组件内无法使用自定义样式变化,需要自定义 :原理就是利用swiper change事件与下标index匹配,显示不同的样式 swiper组件须知: :一旦swiper用于组件化,就 ...
- vsphere 5.1 改进和SSO理解
虚拟交换器 以5.1版的vSphere而言,VMware在VDS上提供一些新功能.例如,现在可以用快照的方式,来备份还原VDS组态及网络端口群组(port group)的组态,以因应vCenter S ...
- Volume Shadow Copy Service(VSS)如何工作
VSS卷影拷贝服务其实不是一项新技术了,在2003年前后发布的Windows 2003和Windows XP SP1都提供了对VSS的支持.最近几年微软的一线产品对VSS支持的越来越多,包括Excha ...
- Go语言中异常处理painc()和recover()的用法
Go语言中异常处理painc()和recover()的用法 1.Painc用法是:用于抛出错误.Recover()用法是:将Recover()写在defer中,并且在可能发生panic的地方之前,先调 ...
- vs2015使用Apache Cordova用JavaScript来访问本地设备的功能,比如摄像头、加速计
看到下面这张图就代表着我VS2015 跨平台Moblie开发工具安装成功了. 上周安装成功后本想一睹跨平台开发的乐趣,可是一直找不到合适的入口.这周又来捯饬一下结果发现了一个入口.于是来写一个Hell ...
- gradle 配置及设置本地仓库
安装Gradle 从官方网站下载安装包,解压到目录 设置环境变量 GRADLE_HOME=D:\gradle\gradle-3.4.1 PATH=;%GRADLE_HOME%\bin 设置本地仓库目录 ...
- Python学习笔记六:文件处理
一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...
- 取代Ant——Maven简介
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6625724.html 一:目前开发存在的问题 在没有Maven之前,我们开发一个项目,需要自行导入各种不同的 ...
- NDT(Normal Distributions Transform)算法原理与公式推导
正态分布变换(NDT)算法是一个配准算法,它应用于三维点的统计模型,使用标准最优化技术来确定两个点云间的最优的匹配,因为其在配准过程中不利用对应点的特征计算和匹配,所以时间比其他方法快.下面的公式推导 ...