首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 13489|回復(fù): 0
上一主題 下一主題
[教程]

android手機朝向

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1   
   
     
<?xml version="1.0" encoding="utf-8"?>   
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
    android:orientation
="vertical" android:layout_width="fill_parent"   
    android:layout_height
="fill_parent">   
   
<Button android:id="@+id/btn"   
        android:layout_width
="fill_parent"   
        android:layout_height
="wrap_content"   
        android:text
="點擊更改屏幕朝向" />   
   
<!-- android:hint: 當文本為空時顯示該文本 -->   
   
<EditText android:id="@+id/editText"   
        android:layout_width
="fill_parent"   
        android:layout_height
="wrap_content"   
        android:cursorVisible
="false"   
        android:hint
="顯示當前屏幕朝向" />   
</LinearLayout>   
   
   
清單文件   
   
<?xml version="1.0" encoding="utf-8"?>   
<manifest xmlns:android="http://schemas.android.com/apk/res/android"   
      
package="com.ljq.activity"   
      android:versionCode
="1"   
      android:versionName
="1.0">   
   
<!-- 設(shè)置手機的朝向,不然無法獲取手機的朝向   
         android:screenOrientation
="portrait"   
         android:configChanges
="orientation" -->   
   
<application android:icon="@drawable/icon" android:label="@string/app_name">   
        
<activity android:name=".OrientationActivity"   
                  android:label
="@string/app_name"   
                  android:screenOrientation
="portrait"   
                  android:configChanges
="orientation">   
            
<intent-filter>   
               
<action android:name="android.intent.action.MAIN" />   
               
<category android:name="android.intent.category.LAUNCHER" />   
            
</intent-filter>   
        
</activity>   
   
   
</application>   
   
<uses-sdk android:minSdkVersion="7" />   
   
<!-- 改變手機配置權(quán)限 -->   
   
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />   
</manifest>    
   
   
OrientationActivity類   
   
package com.ljq.activity;   
   
import android.app.Activity;   
import android.content.pm.ActivityInfo;   
import android.content.res.Configuration;   
import android.os.Bundle;   
import android.view.View;   
import android.widget.Button;   
import android.widget.EditText;   
import android.widget.Toast;   
   
public class OrientationActivity extends Activity {   
   
private EditText editText=null;   
      
    @Override   
   
public void onCreate(Bundle savedInstanceState) {   
        
super.onCreate(savedInstanceState);   
        setContentView(R.layout.main);   
           
        editText
=(EditText)findViewById(R.id.editText);   
        Button btn
=(Button)findViewById(R.id.btn);   
        btn.setOnClickListener(
new View.OnClickListener(){   
            
public void onClick(View v) {   
               
//判斷是否可以獲得requestedOrientation屬性   
                if(OrientationActivity.this.getRequestedOrientation()==-1){   
                    Toast.makeText(OrientationActivity.
this, "系統(tǒng)的朝向無法獲取", Toast.LENGTH_LONG).show();   
                }
else{   
                    
//手機屏幕的朝向有7個可選值,分別如下   
                    
//SCREEN_ORIENTATION_BEHIND: 繼承Activity堆棧中當前Activity下面的那個Activity的方向   
                    
//SCREEN_ORIENTATION_LANDSCAPE: 橫屏(風(fēng)景照) ,顯示時寬度大于高度   
                    
//SCREEN_ORIENTATION_PORTRAIT: 豎屏 (肖像照) , 顯示時高度大于寬度   
                    
//SCREEN_ORIENTATION_NOSENSOR: 忽略物理感應(yīng)器——即顯示方向與物理感應(yīng)器無關(guān),   
                    
//不管用戶如何旋轉(zhuǎn)設(shè)備顯示方向都不會隨著改變("unspecified"設(shè)置除外)   
                    
//SCREEN_ORIENTATION_SENSOR: 由物理感應(yīng)器決定顯示方向,它取決于用戶如何持有設(shè)備,   
                    
//當設(shè)備被旋轉(zhuǎn)時方向會隨之變化——在橫屏與豎屏之間   
                    
//SCREEN_ORIENTATION_UNSPECIFIED: 未指定,此為默認值,由Android系統(tǒng)自己選擇適當?shù)姆较颍?nbsp;  
                    
//選擇策略視具體設(shè)備的配置情況而定,因此不同的設(shè)備會有不同的方向選擇   
                    
//SCREEN_ORIENTATION_USER: 用戶當前的首選方向   
                    if(OrientationActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){   
                        OrientationActivity.
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);   
                    }
else if(OrientationActivity.this.getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){   
                        OrientationActivity.
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);   
                    }   
                       
                }   
                  
            }   
        });   
    }   
      
   
/**   
     * 配置信息發(fā)生改變時觸發(fā)   
     
*/   
    @Override   
   
public void onConfigurationChanged(Configuration newConfig) {   
        Toast.makeText(
this, "系統(tǒng)的屏幕方向發(fā)生改變", Toast.LENGTH_LONG).show();   
        
int o=getRequestedOrientation();//獲取手機的朝向   
        switch (o) {   
        
case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:   
            editText.setText(
"當前屏幕朝向為: 橫屏");   
            
break;   
        
case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:   
            editText.setText(
"當前屏幕朝向為: 豎屏");   
            
break;   
        }   
        
//不能省略,否則會報android.app.SuperNotCalledException: Activity OrientationActivity did not   
        
//call through to super.onConfigurationChanged()異常   
        super.onConfigurationChanged(newConfig);   
   
    }   
}
   
   
   
運行結(jié)果   
     
   
   
   
   
   

上一篇:android可縮放的圖形處理
下一篇:android開發(fā)如何學(xué)習(xí)
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-12-28 01:08 , Processed in 0.065409 second(s), 13 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表