去标题栏(在onCreate中)

requestWindowFeature(Window.FEATURE_NO_TITLE);

设置全屏(在onCreate中)

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREENWindowManager.LayoutParams.FLAG_FULLSCREEN);

横竖屏幕(在onResume中)

//手机屏幕的朝向有11个可选值,分别如下
//SCREEN_ORIENTATION_BEHIND
Activity堆栈中当前Activity下面的那个Activity的方向

//SCREEN_ORIENTATION_LANDSCAPE: 横屏(风景照) ,显示时宽度大于高度

//SCREEN_ORIENTATION_PORTRAIT: 竖屏 (肖像照) , 显示时高度大于宽度

//SCREEN_ORIENTATION_NOSENSOR: 忽略物理感应器——即显示方向与物理感应器无关

//SCREEN_ORIENTATION_SENSOR: 由物理感应器决定显示方向,它取决于用户如何持有设备

//SCREEN_ORIENTATION_UNSPECIFIED: 默认值,由Android系统自己选择适当的方向

//SCREEN_ORIENTATION_USER: 用户当前的首选方向

//SCREE……

setRequestedOrientation(ActivityInfo. SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

横竖屏切换不重启Activity

  1. 在androidmanifest.xml中的activit元素加入:Android:configChanges="orientation|keyboardHidden"

配置了这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法。

<activity
android:name=".TestActivity"
android:label="@string/app_name" android:configChanges="keyboardHidden|orientation">

</activity>

@Override

public void onConfigurationChanged(Configuration
newConfig) {

super.onConfigurationChanged(newConfig);

if(newConfig.orientation ==
Configuration.ORIENTATION_LANDSCAPE){

tv.setText("横屏");

}else{……}

}

Toast

Private  static  Toast  mToast;

public static void showToast(Context context,
String msg) {

if (mToast == null) {

mToast = Toast.makeText(context,
msg, Toast.LENGTH_SHORT);

} else {

mToast.setText(msg);

}

mToast.show();

}

样式全解析:http://android.tgbus.com/Android/tutorial/201103/346236.shtml

Activity跳转 ,清空Activity栈

我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity

在A窗口中使用下面的代码调用B窗口:

Intent intent
= newIntent();
       intent.setClass(Android123.this,CWJ.class);
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(intent);

接下来在B窗口中需要退出时直接使用finish()方法即可全部退出

自定义Activity

public class
ScreenManager {

private static Stack<Activity>
activityStack;

private static ScreenManager instance;

private 
ScreenManager(){     }

public static ScreenManager
getScreenManager(){

if( instance== null)

instance= new ScreenManager();

return instance;

}

public void popActivity(){

Activity activity=
activityStack.lastElement();

if(activity!= null){

activity.finish();

activity= null;

}

}

public void popActivity(Activity
activity){

if(activity!= null){

activity.finish();

activityStack.remove(activity);

activity= null;

}

}

public Activity currentActivity(){

Activity activity=
activityStack.lastElement();

return activity;

}

public void pushActivity(Activity
activity){

if( activityStack== null)

activityStack= new
Stack<Activity>();

activityStack.add(activity);

}

public void popAllActivityExceptOne(
Class cls){

while(true ){

Activity
activity=currentActivity();

if(activity== null)         break;

if(activity.getClass().equals(cls)
)      break;

popActivity(activity);

}

}

}

最新文章

  1. [译] jQuery 3 有哪些新东西
  2. barabasilab-networkScience学习笔记6-evolving networks
  3. VMwareTools安装笔记
  4. JAVA基础知识之网络编程——-基于TCP通信的简单聊天室
  5. JavaScript及C# URI编码详解
  6. Python 初学(一) 标识符
  7. poj 1113 Wall
  8. JAVA入门第二季(mooc-笔记)
  9. 利用TreeSet给纯数字字符串排序
  10. javascript 获取元素宽高
  11. eclipse 找不到application选项
  12. 【Espruino】NO.12 加速度计演示
  13. HDU 1022 Train Problem I 用栈瞎搞
  14. 阿里云API网关(15)监控预警
  15. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十九):增加排行榜功能2
  16. 用递归方法求n阶勒让德多项式的值
  17. IO复用\阻塞IO\非阻塞IO\同步IO\异步IO
  18. VS Code中Matlab插件安装设置
  19. Zabbix3.0版Graphtree的安装配置
  20. PropertyPlaceHolderConfigurer中的location是不是用错了?

热门文章

  1. Andriod ----配置环境变量
  2. PHP 语句 函数 字符串处理
  3. PHP 异步使用swoole的可行性测试
  4. 哪些intel 网卡支持SR-IOV
  5. Luogu 2279 [HNOI2003]消防局的设立 - 贪心
  6. Windows 修改的hosts记录没有效果
  7. [翻译]Javaslang 介绍
  8. Loadrunner 脚本录制策略
  9. QT学习之路(1):彩票绝对不中模拟器
  10. Delphi中静态方法重载还是覆盖的讨论