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 ...
随机推荐
- Mina.Net实现的断线重连
using Mina.Filter.Codec; using Mina.Filter.Codec.TextLine; using System; using System.Collections.Ge ...
- JAVA各种泛型事例总结
转自:http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html 普通泛型 class Point<T>{ // 此 ...
- JDK5.0 特性-线程同步装置之Semaphore
来自:http://www.cnblogs.com/taven/archive/2011/12/17/2291474.html import java.util.ArrayList; import j ...
- iOS开发 - Core Animation 核心动画
Core Animation Core Animation.中文翻译为核心动画,它是一组很强大的动画处理API,使用它能做出很炫丽的动画效果.并且往往是事半功倍. 也就是说,使用少量的代码就能够实现很 ...
- python获取PING结果
# -*- coding: utf-8 -*- import subprocess import re def get_ping_result(ip_address): p = subprocess. ...
- C# new和初始化
虽然知道使用new可以创建对象,但一直不是很理解初始化和new等知识的具体. 通过8个问题和需求,了解相关知识. 了解问题和需求 1.new 的三个步骤 2.初始化是什么意思. 3.变量声明后和变量赋 ...
- 操作系统动态内存管理——malloc和free的工作机制
动态内存分配 就 是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法. malloc()是C语言中动态存储管理 的一组标准库函数之一.其作用是在内存的动态存储区中分配一个长度为size的 ...
- JavaWeb应用项目部署到云ubuntu
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6383068.html 在前面的博文中,我们已经在云主机ubuntu上搭建好jdk.tomcat以及mysql了 ...
- recordMyDesktop的安装与使用
今天给大家推荐一款能让桌面录像更简单的屏幕录像的工具: RecordMyDesktop 安装 RecordMyDesktop RecordMyDesktop 的核心是一系列命令工具,不过 Gnome ...
- node.js模块化写法入门
子模块的写法: function SVN(){ console.log('svn initialized'); return this; } function getInstance() { cons ...