界面及Activity参数设置

时间:2022-09-01 00:27:04

去标题栏(在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);

}

}

}

界面及Activity参数设置的更多相关文章

  1. Android界面架构&lpar;Activity&comma;PhoneWiondow&comma;DecorView&rpar;简介

    在一个Android应用程序中,用户界面通过View和ViewGroup对象构建.所有View的子类成为"Widget",所有ViewGroup的子类成为"Layout& ...

  2. MP3 Lame 转换 参数 设置&lpar;转&rpar;

    我们在对音频格式的转换中,打交道最多的就是MP3了.如果你能彻底玩转MP3,那么对你的音频创作和对其他音频格式的掌握会有很大的帮助.下面我们给大家介绍MP3制作软件:LAME 要制作出高音质的MP3靠 ...

  3. 使用MEF实现通用参数设置

    通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...

  4. Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置

    本文由远航路上ing 原创,转载请标明出处. 这节笔记记录IP核的生成以及参数设置. 先再IP库里下载安装Framebuffer 的ipcore 并安装完毕. 一.IP核的生成: 1.先点击IP核则右 ...

  5. 转:MediaCoder H&period;264格式编码参数设置及详解

    转: http://mediacoder.com.cn/node/81 由于现在大部分视频转码都选择H.264格式进行编码,同时CUDA编码的画质还达不到x264软编码的质量(如果你对画质无要求,可以 ...

  6. java heap space解决方法和JVM参数设置

    在JVM中如果98%的时间是用于GC(Garbage Collection)且可用的 Heap size 不足2%的时候将抛出异常信息,java.lang.OutOfMemoryError: Java ...

  7. &lpar;转&rpar;setTextColor&lpar;&rpar;的参数设置方式

    setTextColor()的参数设置方式 分类: Android界面研究2011-12-09 23:27 11160人阅读 评论(2) 收藏 举报 查了下资料发现setTextColor()的参数应 ...

  8. Appium的DesiredCapabilities参数设置

    Appium的DesiredCapabilities参数设置 DesiredCapabilities 负责启动服务端时的参数设置.实际使用时根据自己的需要,可自行修改一些参数. 比如,应用程序在查找某 ...

  9. jvm参数设置和性能调优

    1.Java虚拟机运行时的数据区 2.常用的内存区域调节参数 -Xms:初始堆大小,默认为物理内存的1/64(<1GB):默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40% ...

随机推荐

  1. 代码--&gt&semi;发呆

    代码,敲着敲着,就发呆了. 其实安安静静敲代码,是一种享受.开着不快不慢的音乐,徜徉在代码的世界里,忘记了时间的存在. 原本备忘录中提醒我13点看书,一小时又一小时的延后,已经不记得自己按了多少次一小 ...

  2. Sublime WiFi真机同步和WiFi真机预览使用说明

    概述WiFi真机同步: 通过在Sublime中建立调试服务,接收真机设备主动连接调试的方式,配合apploader及自定义loader,为开发者提供在局域网内通过WiFi实现应用快速真机同步和实时预览 ...

  3. AutoLayout ViewDidAppear 小坑

    在应用AutoLayout的xib中获取某个view的frame时,如果在ViewDidLoad中获取,有可能获取不准,需要在ViewDidAppear中获取,原因是AutoLayout在ViewDi ...

  4. kaili camera

    #lsusb #dmesg | grep uvc #apt-get install guvcview cheese

  5. maven编译设置pom&period;xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. 神奇的Noip模拟试题第一试 合理种植 枚举&plus;技巧

    1.合理种植 (plant.pas/.c/.cpp) [问题描述] 大COS在氯铯石料场干了半年,受尽了劳苦,终于决定辞职.他来到表弟小cos的寒树中学,找到方克顺校长,希望寻个活干. 于是他如愿以偿 ...

  7. 锁之&OpenCurlyDoubleQuote;重量级锁”Synchronized

    一.Synchronized的基本使用 Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法.Synchronized的作用主要有三个:(1)确保线程互斥的访问同步 ...

  8. 表设计与SQL优化

    1. 说说分区表的主要好处是什么,为什么会有这些好处. 分区功能能够将表.索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区.每个分区有自己的名称,还可以选择自己的存储特性. 从数据库管理员的 ...

  9. &lbrack;poj1068&rsqb;Parencodings&lowbar;模拟

    Parencodings 题目大意:给你一个P序列,表示从左到右的右括号左边有多少左括号,求M序列. 注释:M序列定义为每一个右括号左边最近的没有被之前的右括号匹配的括号之间,有多少已经匹配的括号队对 ...

  10. Ubuntu中基于QT的系统网线连接状态的实时监视

    1.必要准备 需包: #include <QNetworkInterface> 2.实现获取当前的网线连接状态 以下是自己在网络上搜到的一个解决方法,且没有加入iface.flags(). ...