Yanıtlar:
Manifest'te bunu tüm etkinlikleriniz için ayarlayın:
<activity android:name=".YourActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"/>
Açıklamama izin ver:
android:configChanges="orientation"
Aşağıdaki videoyu yönelim değişikliklerinin sorumlu olacağını Android'i söyle.android:screenOrientation="portrait"
varsayılan yönlendirme modunu ayarlarsınız.android:screenOrientation="portrait"
PortraitActivity
ve onCreate çağrıda setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
Bunu genişleten tüm etkinlikler
Activity
, bir faaliyetin ListActivity
diğerinden basitçe uzanırken olduğu gibi farklı alt sınıflarından miras almak istediğinde Activity
?
Android Manifest Dosya, senin için niteliğini koymak <activity>
olduğunuandroid:screenOrientation="portrait"
İki yol var,
android:screenOrientation="portrait"
Dosyasındaki her Etkinlik için ekleyinthis.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Her bir java dosyasına ekleyin .manifest'te:
<activity android:name=".activity.MainActivity"
android:screenOrientation="portrait"
tools:ignore="LockedOrientationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
veya: MainActivity'de
@SuppressLint("SourceLockedOrientationActivity")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
app/src/main/AndroidManifest.xml; lineNumber: 20; columnNumber: 50; The prefix "tools" for attribute "tools:ignore" associated with an element type "activity" is not bound.
. xmlns:tools="http://schemas.android.com/tools"
Kök öğeye eklemek sorunu çözer
Eski yazı biliyorum. Yönünüzü değiştirebilse veya takas etse bile uygulamanızı her zaman portre modunda çalıştırmak için (örneğin tabletlerde) Dikey ve yatay konumun nasıl olduğunu bilmenize gerek kalmadan cihazı doğru yönde ayarlamak için kullanılan bu işlevi tasarladım. özellikler cihazda düzenlenmiştir.
private void initActivityScreenOrientPortrait()
{
// Avoid screen rotations (use the manifests android:screenOrientation setting)
// Set this to nosensor or potrait
// Set window fullscreen
this.activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
DisplayMetrics metrics = new DisplayMetrics();
this.activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
// Test if it is VISUAL in portrait mode by simply checking it's size
boolean bIsVisualPortrait = ( metrics.heightPixels >= metrics.widthPixels );
if( !bIsVisualPortrait )
{
// Swap the orientation to match the VISUAL portrait mode
if( this.activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT )
{ this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }
else { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ); }
}
else { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); }
}
Tıkır tıkır çalışıyor!
DİKKAT: this.activity
Etkinliğinize göre değiştirin veya ana etkinliğe ekleyin ve this.activity
;-) kaldırın
kullanırım
android:screenOrientation="nosensor"
Yukarıdan aşağıya portre modunu desteklemek istemiyorsanız faydalıdır.