zoukankan      html  css  js  c++  java
  • 界面及Activity参数设置

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

                }

         }

    }

  • 相关阅读:
    06 is和==的区别 encode()编码 decode()解码
    05 dic的增删改查 字典的嵌套 考试题dic.get()的相关使用
    03 编码 int ,bool,str的常用操作 主要讲str
    01 基本数据类型 变量 if语句
    04 列表的增删改查 常用方法 元祖 range
    02 while循环 格式化输出 运算符
    多校2 Harmonious Army hdu6598 网络流
    P3159 [CQOI2012]交换棋子 网络流
    P2172 [国家集训队]部落战争 最大流
    P2402 奶牛隐藏 网络流
  • 原文地址:https://www.cnblogs.com/keyarchen/p/6025903.html
Copyright © 2011-2022 走看看