導航:首頁 > 操作系統 > androidportrait

androidportrait

發布時間:2022-06-29 07:19:11

⑴ 請教大家 我想實現屏幕豎向顯示 已經在XML中 添加了這個屬性 android:screenOrientation="portrait"。。。

你這問題我想來想去沒想明白,本身什麼屬性都不加的話就是豎屏顯示的,而且手機旋轉過來以後會自動切換為橫屏模式。如果加了portrait就代表無論什麼情況下都是豎屏顯示的,即便你把手機橫過來,界面也不會更改。如果是landscape的話無論你怎麼翻轉手機,都是橫著顯示的。你加portrait以後應該是無論怎麼翻轉手機,界面都應該是和你豎著拿手機看到的界面效果是一樣的啊。你到底怎樣搞到180°反向去的?能否上個圖看看?

⑵ 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方法。
根據你自己的需求來選擇配置改變時的處理機制這樣比較好一點。
關於屏幕顯示方向,在AndroidManifest.xml裡面配置一下就可以了。
android:screenOrientation="landscape" 代表橫向
android:screenOrientation="portrait" 代表縱向
不加這一行就代表自動

添加的具體位置是在<activity ...android:screenOrientation="landscape" >

⑶ 如何設置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手機助手下載安卓學習手冊,裡面有橫豎排例子,源碼,例子隨便看。

⑷ Android應用如何支持不同尺寸的屏幕

想要Android應用適應不同尺寸的屏幕,思路如下:
一:不同的layout
Android手機屏幕大小不一,有480x320, 640x360, 800x480,讓app適應不同屏幕,需要在res目錄下創建不同的layout文件夾,比如layout-640x360,layout-800x480,所有的layout文件在編譯之後都會寫入R.java里,而系統會根據屏幕的大小自己選擇合適的layout進行使用。
二:hdpi、mdpi、ldpi
在之前的版本中,只有一個drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三個,這三個主要是為了支持多解析度。
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA (320x480)
(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA (240x320)
系統會根據機器的解析度來分別到這幾個文件夾裡面去找對應的圖片。
更正:應該是對應不同density 的圖片
在開發程序時為了兼容不同平台不同屏幕,建議各自文件夾根據需求均存放不同版本圖片。
屏幕方向:
橫屏豎屏自動切換:
可以在res目錄下建立layout-port-800x600和layout-land兩個目錄,裡面分別放置豎屏和橫屏兩種布局文件,這樣在手機屏幕方向變化的時候系統會自動調用相應的布局文件,避免一種布局文件無法滿足兩種屏幕顯示的問題。
不同解析度橫屏豎屏自動切換:
以800x600為例 :
可以在res目錄下建立layout-port-800x600和layout-land-800x600兩個目錄
不切換:
以下步驟是網上流傳的,不過我自己之前是通過圖形化界面實現這個配置,算是殊途同歸,有空我會把圖片貼上來。
還要說明一點:每個activity都有這個屬性screenOrientation,每個activity都需要設置,可以設置為豎屏(portrait),也可以設置為無重力感應(nosensor)。
要讓程序界面保持一個方向,不隨手機方向轉動而變化的處理辦法:
在AndroidManifest.xml裡面配置一下就可以了。加入這一行android:screenOrientation="landscape"。
例如(landscape是橫向,portrait是縱向):
Java代碼:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ray.linkit"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".GamePlay"
android:screenOrientation="portrait"></activity>
<activity android:name=".OptionView"
android:screenOrientation="portrait"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
另外,android中每次屏幕的切換動會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!
有的程序適合從豎屏切換到橫屏,或者反過來,這個時候怎麼辦呢?可以在配置Activity的地方進行如下的配置android:screenOrientation="portrait"。這樣就可以保證是豎屏總是豎屏了,或者landscape橫向。
而有的程序是適合橫豎屏切換的。如何處理呢?首先要在配置Activity的時候進行如下的配置:android:configChanges="keyboardHidden|orientation",另外需要重寫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
}
}
寫一個支持多分辨的程序,基於1.6開發的,建立了三個資源文件夾drawable-hdpi drawable-mdpi drawable-ldpi,裡面分別存放72*72 48*48 36*36的icon圖標文件。當我在G1(1.5的系統)上測試時,圖標應該自適應為48*48才對啊,但實際顯示的是36*36。怎麼才能讓其自適應 48*48的icon圖標呢
解決辦法 drawable-hdpi drawable-mdpi drawable-ldpi改成drawable-480X320 drawable-800X480的多分辨支持的文件夾

⑸ android 強制設置橫屏 判斷是橫屏還是豎屏

可以有兩種方式:

  1. 動態設置,也就是在代碼里

首先,判斷語句是這樣的:

if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE),這里判斷是否為橫屏,橫豎屏在ActivityInfo里可以選擇。

然後設置橫豎屏:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

上面是第一種方法;

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

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

要設置成豎屏設置成 SCREEN_ORIENTATION_PORTRAIT

⑹ android 切換橫屏時怎麼全屏

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

⑺ 怎樣讓android開發程序不隨著屏幕轉動啊

1.在AndroidManifest.xml的每一個需要禁止轉向的Activity配置中加入 android:screenOrientation=」landscape」 屬性。 landscape = 橫向 portrait = 縱向 2.android中每次屏幕方向切換時都會重啟Activity,所以應該在Activity銷毀前保存當前活動的。

禁止屏幕隨手機旋轉變化 有時候我們希望讓一個程序的界面始終保持在一個方向,不隨手機方向旋轉而變化: 在AndroidManifest.xml的每一個需要禁止轉向的Activity配置中加入android:screenOrientation=」landscape」 屬性。 landscape = 橫向 portra。

在manifest文件中加入 screenOrientation=「portrait」 限制屏幕豎屏顯示 screenOrientation=「landscape」 限制屏幕橫屏顯示

使用嵌套布局 相對布局裡面嵌套一個線性布局 可以防止出現解析度混亂 這里我們使用相對布局嵌套一個線性布局可以完成 標題在最上方 最下方是一個ActivityGroup 右邊的abcdef。選項條在最右邊 這3個都是相對布局裡的元素 然後 中間是一個線性布。

LZ可以試試android:screenOrientation="portrait"強制豎屏,然後通過感測器來檢測是否旋轉了屏幕。LZ可以先嘗試一下啊加速度感測器看看,這個應該每個手機都會有

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE););//強制為橫屏 或者在AndroidManifest.xml 裡面添加android:screenOrientation=」landscape」

Android 平台提供了兩類動畫,一類是 Tween 動畫,即通過對場景里的對象不斷做圖像變換(平移、縮放、旋轉)產生動畫效果;第二類是 Frame 動畫,即順序播放事先做好的圖像,跟電影類似。本文分析 Tween動畫的rotate實現旋轉效果。

⑻ 如何在 Android 程序中禁止屏幕旋轉和重啟Activity

第一種方法:在清單文件的那個Activity標簽中添加:android:screenOrientation="portrait"
第二種:在activity的onCreate中加入這些:
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
一般在全項目都需要加的時候,只需要寫個Activity的基類,讓其他的都繼承這個類,然後設置第二種就可以了,不用每個都寫

⑼ android screenOrientation屬性

在開發android的應用中,有時候需要限制橫豎屏切換。只需要在AndroidManifest.xml文件中加入android:screenOrientation屬性限制。
android:screenOrientation="landscape"是限制此頁面橫屏顯示,
android:screenOrientation="portrait"是限制此頁面數豎屏顯示。
[html] view plain
android:screenOrientation="landscape"是限制此頁面橫屏顯示,
android:screenOrientation="portrait"是限制此頁面數豎屏顯示。

android:screenOrientation設定該活動的方向,該值可以是任何一個下面的字元串:

"unspecified"
- 默認值. 由系統選擇顯示方向. 在不同的設備可能會有所不同.
"landscape"
- 橫向
"portrait"
- 縱向
"user"
- 用戶當前的首選方向
"behind"
- 與在活動堆棧下的活動相同方向
"sensor"
- 根據物理方向感測器確定方向. 取決於用戶手持的方向, 當用戶轉動設備, 它跟隨改變.
"nosensor"
- 不經物理方向感測器確定方向. 該感測器被忽略, 所以當用戶轉動設備, 顯示不會跟隨改變. 除了這個區別,系統選擇使用相同的政策取向對於「未指定」設置. 系統根據「未指定」("unspecified")設定選擇相同顯示方向.
如果要使Activity的View界面全屏,只需要將最上面的信號欄和Activity的Title欄隱藏掉即可,隱藏Title欄的代碼:

requestWindowFeature(Window.FEATURE_NO_TITLE);
配置文件里代碼:
android:theme="@android:style/Theme.NoTitleBar"
隱藏信號欄的代碼:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
其它使用:
getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR, WindowManager.LayoutParams.TYPE_STATUS_BAR);

⑽ android怎麼設置橫豎屏切換

方法一:

1、首先在android手機打開「設置」這個選項的,點擊「顯示」這個功能;

閱讀全文

與androidportrait相關的資料

熱點內容
app易語言post怎麼學 瀏覽:963
地梁的箍筋加密區位置 瀏覽:300
二分法排序程序及編譯結果 瀏覽:677
日語命令形和禁止型 瀏覽:283
安裝軟體用管理員解壓 瀏覽:503
編譯原理代碼塊 瀏覽:398
小孩可以用壓縮面膜嗎 瀏覽:12
錐形倒角怎麼計演算法 瀏覽:880
java合並鏈表 瀏覽:505
pic單片機編譯器 瀏覽:803
麗水四軸加工中心編程 瀏覽:689
國產系統怎麼解壓 瀏覽:552
戰雙程序員 瀏覽:483
him觸摸編程軟體 瀏覽:931
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852
java棧的元素 瀏覽:738
程序員與籃球事件 瀏覽:676
app反編譯不完整 瀏覽:789
電腦上的文件夾怎麼調整 瀏覽:8
伺服器無響應是什麼原因呀 瀏覽:985