導航:首頁 > 操作系統 > android橫屏開發

android橫屏開發

發布時間:2022-07-26 02:59:43

❶ 如何設置android界面橫屏顯示

全屏

在Activity的onCreate方法中的setContentView(myview)調用之前添加下面代碼

requestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//設置全屏

橫屏

按照下面代碼示例修改Activity的onResume方法

@Override
protected void onResume() {
/**
* 設置為橫屏
*/
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
super.onResume();
}

或者在配置文件中對Activity節點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)

android:launchMode="singleTask" android:screenOrientation="portrait">

要設置成豎屏設置成 SCREEN_ORIENTATION_PORTRAIT

// ----------------

常亮

view.setKeepScreenOn(true)

不加任何旋轉屏幕的處理代碼的時候,旋轉屏幕將會導致系統把當前activity關閉,重新打開。
如果只是簡單的界面調整,我們可以阻止此問題的發生,屏幕旋轉而自己調整屏幕的元素重構。
首先我們需要修改AndroidManifest.xml文件:
<activity android:name=".Magazine">
</activity>
//修改為:
<activity android:name=".Magazine"
android:configChanges="orientation|keyboard">
</activity>
這樣是讓程序能夠響應旋轉屏幕的事件。
然後重寫onConfigurationChanged方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
Log.v(" == onConfigurationChanged");
processLayout();
}

//----------------------------

在我們用Android開發過程中,會碰到Activity在切換到後台或布局從橫屏LANDSCAPE切換到PORTRAIT,會重新切換Activity會觸發一次onCreate方法。

在Android開發中這種情況視可以避免的,我們可以在androidmanifest.xml中的activit元素加入這個屬性 android:configChanges="orientation|keyboardHidden" 就能有效避免oncreat方法的重復載入,

androidmanifest.xml內容如下:紅色字體為添加部分

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".DemoGPS"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps" />

</application>
<uses-sdk android:minSdkVersion="7" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>

</manifest>

同時在Activity的java文件中重載onConfigurationChanged(Configuration newConfig)這個方法,這樣就不會在布局切換或窗口切換時重載等方法。代碼如下:

@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
//land
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
//port
}
}

//------------------------------------------------------

關於Android中Activity的橫豎屏切換問題可以通過AndroidManifest.xml文件中的Activity來配置:

android:screenOrientation=["unspecified" | "user" | "behind" |
"landscape" | "portrait" |
"sensor" | "nonsensor"]

screenOrientation 用來指定Activity的在設備上顯示的方向,每個值代表如下含義:

"unspecified" 默認值 由系統來判斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向.

"landscape" 橫屏顯示(寬比高要長)

"portrait" 豎屏顯示(高比寬要長)

"user" 用戶當前首選的方向

"behind" 和該Activity下面的那個Activity的方向一致(在Activity堆棧中的)

"sensor" 有物理的感應器來決定。如果用戶旋轉設備這屏幕會橫豎屏切換。

"nosensor" 忽略物理感應器,這樣就不會隨著用戶旋轉設備而更改了 ( "unspecified"設置除外 )。

更多安卓例子請去360手機助手下載安卓學習手冊,裡面有橫豎排例子,源碼,例子隨便看。

安卓系統開發 怎麼強制系統橫屏

兩種方法,一種是AndroidManifest.xml里activity加上
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
第一個是屏幕方向橫屏,第二個是避免橫屏activity被重新創建(onCreate會執行兩次)
還有一種辦法就是代碼切換橫屏
activity的方法setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

❸ android開發手機橫屏會有什麼影響

橫屏的話,Activity的生命周期會重新調用一遍,相當於app重新啟動,這時候伊一定要注意數據的保存和讀取,防止丟失用戶的數據。

❹ 安卓手機如何開啟橫屏模式

1.先找到並打開設置

拓展資料

Android 設置橫屏模式顯示,橫屏模式大部分情況能彌補豎屏的不足——字體小、鍵盤小、畫幅比例不合適,而且橫屏模式下能提供更華麗、更流暢的感官體驗,android 橫屏,android landscape mode ,android 強制橫屏,android 強制豎屏,android 橫屏布局,android 設置全屏模式。

❺ android開發橫豎屏問題

Android橫屏豎屏設置

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//設置成全屏模式

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//強制為橫屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//豎屏
我做的東西裡面還用到了去掉標題欄。
我也貼出來
requestWindowFeature(Window.FEATURE_NO_TITLE);

垂直居中:

android:layout_centerVertical="true"

水平居中:

android:layout_centerHorizontal="true"

1.hideStatusbarAndTitlebar()隱藏statusbar和titlebar.

private void hideStatusbarAndTitlebar() {
final Window win = getWindow();
// No Statusbar
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
// No Titlebar
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
2.設置屏幕顯示模式ScreenOrientation.

在activity里設置android:screenOrientation的值。
android:screenOrientation的屬性有以下值:
unspecified(默 認值,由系統判斷狀態自動切換),The default value. The system chooses the orientation. The policy it uses, and therefore the choices made in specific contexts, may differ from device to device.
landscape,橫屏
portrait,豎屏
user(用戶當前設置的orientation值),The user's current preferred orientation.
behind(下一個要顯示的Activity的orientation值),The same orientation as the activity that's immediately beneath it in the activity stack.
sensor(傳 感器的方向),The orientation determined by a physical orientation sensor. The orientation of the display depends on how the user is holding the device; it changes when the user rotates the device.
nosensor(不 使用感測器,這個效果差不多等於unspecified).An orientation determined without reference to a physical orientation sensor. The sensor is ignored, so the display will not rotate based on how the user moves the device. Except for this distinction, the system chooses the orientation using the same policy as for the "unspecified" setting.

3.水平/垂直居中的方法.

設置parent的android:gravity為"center"。

4.獲得當前屏幕寬高的方法.

Display display = getWindowManager().getDefaultDisplay();
Config.screenWidth = display.getWidth();
Config.screenHeight = display.getHeight();

❻ GPHONE:android如何實現橫屏

當屏幕變為橫屏的時候,系統會重新呼叫當前Activity的OnCreate方法,你可以把以下方法放在你的OnCreate中來檢查當前的方向,然後可以讓你的SetContentView來載入不同的Layout xml.

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {

Log.i("info", "landscape");

}

else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

Log.i("info", "portrait");

}

關於屏幕切換的時候
首先需要在androidmanifest.xml中加入配置
android:configChanges="orientation|keyboardHidden|navigation
這樣在程序中. Activity就不會重復的調用onCreate()
甚至不會調用onPause.onResume.
只會調用一個onConfigurationChanged(Configuration newConfig)
這是在XML加入配置選項的前提下.

如果在就加入選項的前提下.如上所說. Activity會重新激活onCreate方法

根據你自己的需求來選擇配置改變時的處理機制這樣比較好一點。

❼ Android開發中如何強制橫屏和強制豎屏設置

在Androidmanifest.xml裡面設置,

android:screenOrientation="portrait" 豎屏
android:screenOrientation="landscape" 橫屏

❽ 安卓開發怎樣設置成橫屏,我做了個游戲,一直是豎屏的,不方便

在.xml文件中可以設置默認方向的,AndroidManifest.xml中設置activity中的android:screenOrientation屬性值

❾ Android 漫畫APP 豎屏 橫屏切換技術實現問題

、禁止橫豎屏轉換
Android橫豎屏切換在手機開發中比較常見,很多軟體在開發過程中為了避免橫豎屏切換時引發不必要的麻煩,通常禁止掉橫豎屏的切換,
通過在AndroidManifest.xml中設置activity中的android:screenOrientation屬性值來實現。
比如下列設置
android:screenOrientation="portrait"
則無論手機如何變動,擁有這個屬性的activity都將是豎屏顯示。
android:screenOrientation="landscape",為橫屏顯示。
上述修改也可以在Java代碼中通過類似如下代碼來設置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
另外,android中每次屏幕的切換動會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!

二、橫豎屏切換
如果要讓軟體在橫豎屏之間切換,由於橫豎屏的高寬會發生轉換,有可能會要求不同的布局。可以通過以下兩種方法來切換布局:
1)在res目錄下建立layout-land和layout-port目錄,相應的layout文件名不變,比如main.xml。layout-land是橫屏的layout,layout-port是豎屏的layout,其他的不用管,橫豎屏切換時程序為調用Activity的onCreate方法,從而載入相應的布局。
2)假如布局資源不按照如上設置,則可以通過java代碼來判斷當前是橫屏還是豎屏然後來載入相應的xml布局文件。因為當屏幕變為橫屏的時候,系統會重新呼叫當前Activity的onCreate方法,你可以把以下方法放在你的onCreate中來檢查當前的方向,然後可以讓你的setContentView來載入不同的layout xml。
if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE)
{
Log.i("info", "landscape"); // 橫屏
} else if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT)
{
Log.i("info", "portrait"); // 豎屏
}
三、通過onConfigurationChanged攔截橫豎屏變換
按照二的操作,Activity每次橫豎屏切換都會重新調用onPause-> onStop-> onDestory-> onCreate->onStart->onResume,為此涉及到內容和數據的保存和讀取,否則轉屏之前的內容就會消失了。很多時候這樣的結果讓程序繁瑣,為此Android提供了在manifest中設置android:configChanges屬性,從而讓Activity不延續上述的重建流程。在Android工程的Mainfest.xml中配置Activity:android:configChanges="keyboardHidden|orientation",橫豎屏切換之後就不會去執行OnCreat函數了,而是會去調用onConfigurationChanged()這樣就能控制橫豎屏的切換了。用戶可以在Activity或View的onConfigurationChanged(Configuration newConfig)函數中獲取當前橫豎屏參數。至於其調用順序跟touch時間的傳遞順序相似,不過他沒有消費事件的概念,會順次調用到每一個onConfigurationChanged函數。
需要重寫Activity的onConfigurationChanged方法。實現方式如下,不需要做太多的內容:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port do nothing is ok
}
}
需要注意的是,onConfigurationChanged函數中只能獲得橫豎屏切換後的參數,在該函數中獲取不到新的Layout和控制項的尺寸位置信息,如果要處理尺寸和位置信息,必須通過消息非同步或者延時調用。
四、徹底禁止翻轉
當然如果要徹底禁止翻轉,可以設置android:screenOrientation的屬性為nosensor,如此就可以忽略重力感應帶來的麻煩了。不過在模擬器上不管用,在真機上是正確的。
這里提一個小知識,Android模擬器中,快捷鍵"Ctrl+F11/F12"可以實現轉屏
五,自適應轉換
如果想讓它啟動的時候是橫屏的話就橫屏表示,縱屏的話就縱屏表示,然後手機切換橫豎屏就不能用了該怎麼解決呢?
首先:在Mainfest.xml中追加
android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden"
這兩個屬性。

❿ android開發怎麼橫屏切換效果

if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
Log.i("info","landscape"); // 橫屏
}
else if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT) {
Log.i("info","portrait"); // 豎屏

閱讀全文

與android橫屏開發相關的資料

熱點內容
未來之光手機雲伺服器 瀏覽:158
伺服器下載資料為什麼c盤滿了 瀏覽:263
怎麼清除空文件夾 瀏覽:544
如何查看派派伺服器 瀏覽:802
殺手6解壓畫面 瀏覽:669
誇張程序員 瀏覽:467
如何直播切兩個APP畫面 瀏覽:784
4x4測試伺服器怎麼獲得 瀏覽:740
開環與閉環python 瀏覽:517
蘋果手機上的東西怎麼加密 瀏覽:554
坐過牢可以做程序員嗎 瀏覽:254
男友是程序員女友是自由職業 瀏覽:272
娃娃智慧閱讀源碼 瀏覽:163
程序員敲響警鍾 瀏覽:888
猴子吃桃遞歸演算法 瀏覽:340
androidhttpcookie 瀏覽:833
python數組協方差 瀏覽:117
如何把app風險提示給去掉 瀏覽:19
源碼怎麼製作軟體app程序 瀏覽:42
怎麼獲得小程序的本地伺服器照片 瀏覽:676