成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Configuration類響應(yīng)的系統(tǒng)設(shè)置的事件-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、成都微信小程序、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

    通過調(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(接受手指的觸摸屏)。

實(shí)例:獲取系統(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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/ori"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/touch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/mnc"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/bn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="獲取系統(tǒng)設(shè)備狀態(tài)" />

</LinearLayout>

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

實(shí)例:重寫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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/bn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="更改屏幕方向" />

</LinearLayout>

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

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

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.changecfg"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="12" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.changecfg.MainActivity"
            android:configChanges="orientation"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:Configuration類響應(yīng)的系統(tǒng)設(shè)置的事件-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article2/isgoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站營銷、小程序開發(fā)、虛擬主機(jī)、做網(wǎng)站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
大丰市| 临潭县| 凤庆县| 潼关县| 松潘县| 鄂托克旗| 克拉玛依市| 临澧县| 微博| 舒兰市| 九江市| 兖州市| 万州区| 酒泉市| 纳雍县| 怀远县| 尼勒克县| 徐汇区| 牙克石市| 尼勒克县| 宜川县| 平定县| 若尔盖县| 湖口县| 万山特区| 漳浦县| 三原县| 浦江县| 息烽县| 诸暨市| 凤冈县| 原平市| 万载县| 兴义市| 施秉县| 宕昌县| 临潭县| 阳山县| 封开县| 木里| 贵南县|