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);

                }

         }

    }

  • 相关阅读:
    logback不输出日志消息,且SLF4J绑定源错误
    solr6.4.1 搜索引擎(1)启动eclipse启动
    centos7网络连接
    OutOfMemoryError异常java内存泄漏(Memory Leak)和内存溢出(Memory Overflow)
    centos7软件安装redis3.2
    centos7软件安装mysql5.7
    solr6.4.1搜索引擎(5)使用zookeeper3.4.9分布式集群
    mysql优化数据库优化、SQL优化
    solr6.4.1搜索引擎(4)tomcat重启后数据加载缓慢或丢失
    centos7软件安装jdk1.8
  • 原文地址:https://www.cnblogs.com/keyarchen/p/6025903.html
Copyright © 2011-2022 走看看