zoukankan      html  css  js  c++  java
  • 安卓学习-界面-事件-Configuration

    安卓学习-界面-事件-Configuration

    1.

    获取系统基本信息,监听屏幕方向变更,需要实现onConfigurationChanged(Configuration newConfig),

    若要监听方向变更,则必须在manifest里这样写,红色字的,否则无法监听

    <activity
    android:name=".MainActivity"
    android:label="@string/app_name" android:configChanges="orientation|screenSize" >
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />

    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    </activity>

    MainActivity.java

    public class MainActivity extends Activity {
    
        Button btn1;
        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            btn1=(Button)findViewById(R.id.button1);
            tv=(TextView)findViewById(R.id.textView1);
            
            btn1.setOnClickListener(new OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    String str="";
                    Configuration con=getResources().getConfiguration();
                    str=str+"字体缩放因子:"+con.fontScale+"
    ";
                    if(con.keyboard==Configuration.KEYBOARD_NOKEYS)
                        str=str+"键盘类型:普通键盘类型"+"
    ";
                    else if (con.keyboard==Configuration.KEYBOARD_12KEY)
                        str=str+"键盘类型:小键盘"+"
    ";    
                    else
                        str=str+"键盘类型:无"+"
    ";
                
                    str=str+"地区:"+con.locale+"
    ";
                    str=str+"移动国家码:"+con.mcc+"
    ";
                    str=str+"移动网络码:"+con.mnc+"
    ";
                    
                    if(con.navigation==Configuration.NAVIGATION_NONAV)
                        str=str+"方向导航设备:无导航"+"
    ";
                    else if(con.navigation==Configuration.NAVIGATION_DPAD)
                        str=str+"方向导航设备:导航"+"
    ";
                    else if(con.navigation==Configuration.NAVIGATION_TRACKBALL)
                        str=str+"方向导航设备:轨迹导航"+"
    ";
                    else if(con.navigation==Configuration.NAVIGATION_WHEEL)
                        str=str+"方向导航设备:滚轮导航"+"
    ";
                    else
                        str=str+"方向导航设备:无"+"
    ";
                    
                    if(con.orientation==Configuration.ORIENTATION_LANDSCAPE)
                        str=str+"屏幕方向:横向"+"
    ";
                    else if(con.orientation==Configuration.ORIENTATION_PORTRAIT)
                        str=str+"屏幕方向:竖向"+"
    ";
                    else
                        str=str+"屏幕方向:无"+"
    ";
                    
                    if(con.touchscreen==Configuration.TOUCHSCREEN_NOTOUCH)
                        str=str+"触摸方式:无触摸"+"
    ";
                    else if(con.touchscreen==Configuration.TOUCHSCREEN_FINGER)
                        str=str+"触摸方式:手指触摸"+"
    ";
                    else
                        str=str+"触摸方式:无"+"
    ";
        
                    tv.setText(str);
                    
                }
            });
        }
        
        //监听配置修改
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);
            
            String str="";
            if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE)
                str=str+"屏幕方向:横向"+"
    ";
            else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT)
                str=str+"屏幕方向:竖向"+"
    ";
            else
                str=str+"屏幕方向:无"+"
    ";
            
            Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
            
        }
    }
    View Code
  • 相关阅读:
    开源 IM 工具编译与环境搭建攻略
    spark研究之install4j打包spark
    OPENFIRE+SPARK语音视频出错连不上的解决办法,倾心吐露:
    Openfire更服务器名称的方法
    install4j打包Spark详解
    关于install4j打包spark的一些方法
    ASP连接LOTUS数据库
    Enabling Large File Uploads On Your Domino Server for XPages
    phpcms v9 数据库操作函数
    phpcms前台的控制器
  • 原文地址:https://www.cnblogs.com/weijj/p/4067072.html
Copyright © 2011-2022 走看看