Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT
Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT
1. 如果已经启动了四个Activity:A,B,C和D。在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记,如下所示:
Intent intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
这样启动B Activity,就会把D,C都finished掉,如果你的B Activity的启动模式是默认的(multiple) ,则B Activity会finished掉,再启动一个新的Activity B。
如果不想重新再创建一个新的B Activity,则在上面的代码里再加上:
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
这样B Activity就会再创建一个新的了,而是会重用之前的B Activity,同时调用B Activity的onNewIntent()方法。
2. 如果已经启动了四个Activity:A,B,C和D,在D Activity里,想再启动一个Actvity B,但不变成A,B,C,D,B,而是希望是A,C,D,B,则可以像下面写代码:
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
android背景选择器selector用法
一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片-->
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>
二.使用xml文件:
1.方法一:在listview中配置android:listSelector="@drawable/xxx
或者在listview的item中添加属性android:background="@drawable/xxx"
2.方法二:Drawable drawable = getResources().getDrawable(R.drawable.xxx);
ListView.setSelector(drawable);但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"使其透明。
相关属性:
android:state_selected是选中
android:state_focused是获得焦点
android:state_pressed是点击
android:state_enabled是设置是否响应事件,指所有事件
根据这些状态同样可以设置button的selector效果。也可以设置selector改变button中的文字状态。
以下是配置button中的文字效果:
drawable/button_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#FFF" />
<item android:state_focused="true" android:color="#FFF" />
<item android:state_pressed="true" android:color="#FFF" />
<item android:color="#000" />
</selector>
Button还可以实现更复杂的效果,例如渐变
drawable/button_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> /
<item android:state_pressed="true">//定义当button 处于pressed 状态时的形态。
<shape>
<gradient android:startColor="#8600ff" />
<stroke android:width="2dp" android:color="#000000" />
<corners android:radius="5dp" />
<padding android:left="10dp" android:top="10dp"
android:bottom="10dp" android:right="10dp"/>
</shape>
</item>
<item android:state_focused="true">//定义当button获得 focus时的形态
<shape>
<gradient android:startColor="#eac100"/>
<stroke android:width="2dp" android:color="#333333" color="#ffffff"/>
<corners android:radius="8dp" />
<padding android:left="10dp" android:top="10dp"
android:bottom="10dp" android:right="10dp"/>
</shape>
</item>
</selector>
最后,需要在包含 button的xml文件里添加两项。例如main.xml 文件,需要在<Button />里加两项android:focusable="true" android:background="@drawable/button_color"
//隐藏标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
//隐藏信号条
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
//屏幕标题栏中使用不确进度条
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
必须写到setContentView()前面
相关推荐
这篇“Android基础教程PPT”旨在引导初学者了解如何使用Eclipse环境进行Android应用开发。首先,我们从创建或导入Android工程开始。 要开启一个新的Android工程,你需要在Eclipse中选择[File]->[New]->[Project],...
《Android基础教程 第三版》是一本针对初学者和进阶开发者的重要参考资料,全面覆盖了Android应用开发的基础知识。此版本的PDF版本以其高质量的文本和包含源码的特点,为学习者提供了便捷的学习途径。书中的内容围绕...
### Android基础教程(第3版·修订版)关键知识点概览 #### 一、书籍概述与定位 《Android基础教程(第3版·修订版)》是一部专为Android开发新手及中级开发者准备的基础教程。本书延续了Pragmatic系列图书的一贯风格...
《Android基础教程(第三版)》是一本深受开发者欢迎的指南,它涵盖了Android开发的核心概念和技术,旨在帮助初学者和有经验的开发者更好地理解和实践Android应用开发。这本书的配套源码提供了丰富的实例,使得读者...
在Android基础的学习中,"Android基础-02"这一主题主要涵盖了Android开发的基本概念和核心组件,这些都是构建Android应用程序的基础。下面将详细讲解这些知识点。 首先,Android是一种基于Linux内核的操作系统,...
**Android基础教程4** 在Android开发的学习过程中,基础教程4主要涵盖了Android开发的多个关键方面,包括用户界面设计、文件存取、数据库编程、应用程序管理、权限控制以及资源管理等核心概念。以下是对这些主题的...
2015年发布的这份Android基础入门教程详细介绍了Android系统架构、开发环境的搭建、用户界面设计以及各种基础知识点,为初学者提供了系统的学习路径。 首先,教程介绍了Android系统的基本概念,包括系统架构和应用...
这个"2015最新Android基础入门教程PDF版打包合集"是为初学者准备的宝贵资源,旨在帮助他们快速掌握Android应用开发的基本概念和技术。以下是这个教程合集中可能包含的一些关键知识点: 1. **Android简介**:首先,...
《Android基础教程 第4版》是一本针对初学者和进阶者全面介绍Android开发的书籍。本书涵盖了Android开发的基础知识,旨在帮助读者掌握构建Android应用的核心技能。在深入学习之前,我们先了解一下Android系统的基本...
Android基础与应用开发教程 Android基础与应用开发教程
本资源为2015年发布的Android基础入门教程的PDF合集,对于初学者来说,是一份非常有价值的参考资料。在Android开发领域,基础知识是构建所有复杂应用的基础,这份教程将帮助你逐步掌握这一领域的核心概念。 一、...
Android基础开发与实践
Android 基础笔记 Android 基础笔记是 Android 开发的入门知识点总结,涵盖了 Android 开发的基础知识点,从 Android 发展史到自定义 ContentProvider 的实现。 一、Android 发展史 Android 的发展史可以追溯到 ...
《Android基础教程(第四版)随书源码》是一份宝贵的学习资源,为读者提供了深入理解Android开发的基础。这份源码涵盖了Android应用开发的核心概念和技术,包括用户界面设计、数据存储、网络通信、多媒体处理等多个...
Android基础入门教程,网上教程,打包成chm,看得时候方便一些 教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识。
《Android学习指南》是针对初学者的一份详尽教程,旨在提供全面的Android基础知识,帮助读者从零开始掌握Android应用开发。这份PDF文档涵盖了Android开发的各个方面,包括环境搭建、编程语言基础、UI设计、数据存储...
android基础教程,里边包括新版Android开发教程&笔记1--基础入门,Android开发教程&笔记2--基础入门二,Android开发教程&笔记3--环境搭建与解析,Android开发教程&笔记4--Dalvik ADB Android开发教程+笔记5--模拟器...
android基础.ppt activety service broadcast contentprovider
**Android基础教程** Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。这个基础教程旨在帮助初学者理解Android开发的基本概念和技术。教程可能涵盖了以下几个核心主题: 1....