真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Configuration類響應(yīng)的系統(tǒng)設(shè)置的事件

    Configuration類用于描述手機設(shè)備上的配置信息。

為海門等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及海門網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、海門網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

    通過調(diào)用Activity的如下方法來獲取系統(tǒng)的Configuration對象。

    Configuration cfg = getResources().getConfiguration();

    該對象提供了如下常用屬性來獲取系統(tǒng)的配置信息。

    public float fontScale:獲取當(dāng)前用戶設(shè)置的字體的縮放因子。

    public int keyboard:獲取當(dāng)前設(shè)備所關(guān)聯(lián)的鍵盤類型。該屬性可能返回如下值:

    KEYBOARD_NOKEYS、KEYBOARD_QWERTY普通電腦鍵盤、KEYBOARD_12KEY(只有12個建的小鍵盤)。

    public int keyboardHidden:該屬性返回一個boolean值用于標(biāo)識當(dāng)前鍵盤是否可用。該屬性不僅會判斷系統(tǒng)地硬件鍵盤,也會判斷系統(tǒng)的軟鍵盤(位于屏幕上)。如果該系統(tǒng)的硬件鍵盤不可用,但軟鍵盤可用,該屬性也會返回KEYBOARDHIDDEN_NO,只有當(dāng)兩個鍵盤都不可用時才會返回KEYBOARDHIDDEN_YES.

    public Locale locale:獲取用戶當(dāng)前的Locale。

    public int mcc:獲取移動信號的國家碼。

    public int mnc:獲取移動信號的網(wǎng)絡(luò)碼。

    public int navigation:判斷系統(tǒng)上方向?qū)Ш皆O(shè)備的類型。該屬性可能返回如NAVIGATION_NONAY(無導(dǎo)航)、NAVIGATION_DPAD(DPAD導(dǎo)航)、NAVIGATION_TRACKBALL(軌跡球?qū)Ш?、NAVIGATION_WHEEL(滾輪導(dǎo)航)等屬性值。

    public int orientation:獲取系統(tǒng)屏幕的方向,該屬性可能返回ORIENTATION_LANDSCAPE(橫向屏幕)、ORIENTATION_PORTRAIT(豎向屏幕)、ORIENTATION_SQUARE(方形屏幕)等屬性值。

    public int touchscreen:獲取系統(tǒng)觸摸屏的觸摸方式。該屬性可能返回TOUCHSC_REEN_NOTOUCH(無觸摸屏)、TOUCHSCREEN_STYLUS(觸摸筆式的觸摸屏)、TOUCHSCREEN_FINGER(接受手指的觸摸屏)。

實例:獲取系統(tǒng)設(shè)備的狀態(tài)

MainActivity.java

package com.example.configurationtest;

public class MainActivity extends Activity {
	EditText ori;
	EditText navigation;
	EditText touch;
	EditText mnc;
	Button bn;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// 獲取應(yīng)用界面中的界面組件
		ori = (EditText) findViewById(R.id.ori);
		navigation = (EditText) findViewById(R.id.navigation);
		touch = (EditText) findViewById(R.id.touch);
		mnc = (EditText) findViewById(R.id.mnc);
		bn = (Button) findViewById(R.id.bn);
		bn.setOnClickListener(new OnClickListener() {

			// 為按鈕綁定事件監(jiān)聽器
			public void onClick(View v) {
				// 獲取系統(tǒng)的Configuration對象
				Configuration cfg = getResources().getConfiguration();
				String screen = cfg.orientation == Configuration.ORIENTATION_LANDSCAPE ? "橫向屏幕"
						: "豎向屏幕";
				String mncCode = cfg.mnc + "";
				String naviName = cfg.orientation == Configuration.NAVIGATION_NONAV ? "沒有方向控制"
						: cfg.orientation == Configuration.NAVIGATION_WHEEL ? "滾輪方向控制"
								: cfg.orientation == Configuration.NAVIGATION_DPAD ? "方向鍵控制方向"
										: "軌跡球控制方向";
				String touchName = cfg.touchscreen == Configuration.TOUCHSCREEN_NOTOUCH ? "無觸摸屏"
						: "支持觸摸屏";
				ori.setText(screen);
				mnc.setText(mncCode);
				navigation.setText(naviName);
				touch.setText(touchName);
			}
		});
	}
}

activity_main.xml



    

    

    

    

    

    如果系統(tǒng)需要監(jiān)聽系統(tǒng)設(shè)置的更改,則可以考慮重寫Activity的               onConfigurationChanged(Configuration newConfig)方法,該方法是一個基于回調(diào)的事件處理方法:當(dāng)系統(tǒng)設(shè)置發(fā)生改變時,該方法會被自動觸發(fā)。

實例:重寫onConfigurationChanged響應(yīng)系統(tǒng)設(shè)置更改

MainActivity.java

package com.example.changecfg;

public class MainActivity extends Activity {
	Button bn;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		bn = (Button) findViewById(R.id.bn);
		bn.setOnClickListener(new OnClickListener() {
			// 為按鈕綁定事件監(jiān)聽器
			public void onClick(View v) {
				// 獲取系統(tǒng)的Configuration對象
				Configuration config = getResources().getConfiguration();
				// 如果當(dāng)前是橫屏
				if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
					// 設(shè)為豎屏
					MainActivity.this
							.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
				}
				// 如果當(dāng)前是豎屏
				if (config.orientation == Configuration.ORIENTATION_PORTRAIT) {
					// 設(shè)為橫屏
					MainActivity.this
							.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
				}

			}
		});
	}

	// 重寫該方法,用于監(jiān)聽系統(tǒng)設(shè)置的更改,主要是監(jiān)控屏幕方向的更改
	public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
		String screen = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE ? "橫向屏幕"
				: "豎向屏幕";
		Toast.makeText(this, "\n修改后的屏幕方向為" + screen, 1).show();
	}
}

activity_main.xml



    


為了讓Activity能監(jiān)聽屏幕方向的更改的時間,需要在配置改Activity時指定acdroid:configChanges屬性,該屬性支持的其中一種屬性值為orientation,指定Activity可以監(jiān)聽屏幕方向改變的事件。


android:targetSdkVersion="12"最高只能設(shè)為12,不然無法監(jiān)聽系統(tǒng)設(shè)置的更改。


AndroidManifest.xml




    

    
        
            
                

                
            
        
    


分享題目:Configuration類響應(yīng)的系統(tǒng)設(shè)置的事件
分享鏈接:http://weahome.cn/article/pcpojp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部