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 ...
随机推荐
- 微信小程序 - scroll-into-view(提示)
scroll-view的参数scroll-into-view适用于索引以及回到顶部 .详情见官方文档scroll-view: 点击下载:scroll-into-view示例
- SQL Server 中断开连接到指定数据库的所有连接
常用的情形是在部署测试数据库时需要通过SQL代码自动重新创建数据库,在删除的时候往往会发生错误,错误信息一般会指出目前有用户连接到这个数据库上,因此不能删除. 实现的方式是通过查询指定数据库中活跃的 ...
- vsphere脚本等
- 002-Go通过ioutil 读写文件
1.读取文件内容 package main import( "io/ioutil" "fmt" ) func main(){ b,err := ioutil.R ...
- Spring 在+publicId+和+systemId+之间需要有空格
今天配置Spring,遇到一个很奇葩的问题: Spring.xml的配置文件内容: <?xml version="1.0" encoding="UTF-8" ...
- Jackson序列化日期类型的属性
@JsonProperty("BankSettlementDate") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = ...
- Java获取本机IP
try { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); whil ...
- oracle 批量删除表数据的4种方式
1.情景展示 情景一: 删除PRIMARY_INDEX_TEST表中,MINDEX_ID字段为空的数据 情景二: 删除VIRTUAL_CARD_TEST表中的脏数据 2.解决方案 情景一的解决方案 ...
- ROS中利用V-rep进行地图构建仿真
V-rep中显示激光扫描点 在VREP自带的场景中找到practicalPathPlanningDemo.ttt文件,删除场景中多余的物体只保留静态的地图.然后在Model browser→comp ...
- POJ 2676 Sudoku (数独 DFS)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 14368 Accepted: 7102 Special Judg ...