غیرفعال کردن چرخش خودکار در برنامه اندروید، هنگام چرخاندن گوشی موبایل (برنامه اندروید یا یک Activity ، همیشه در حالت عمودی (portrait) یا حالت افقی (landscape) باشند)
معمولا زمانی که کاربر، گوشی موبایل خود را می چرخاند، برنامه اندروید نیز به صورت خودکار، چرخیده و حالت عوض می کند (مگر اینکه کاربر این امکان را در گوشی موبایل خود از کار انداخته باشد). اما ممکن است که خود ما بخواهیم که تعیین کنیم، چرخش خودکار برنامه اندرویدی که می سازیم، غیرفعال باشد (برنامه اندروید نچرخد).
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan بسازید (نام package را برابر com.example.kelidestan انتخاب کنید. نام activity اصلی را برابر Activity1 انتخاب کنید).
برای عدم چرخش برنامه اندروید، ابتدا فایل AndroidManiseft.xml را باز می کنیم. کدهای درون این فایل، به صورت زیر می باشد :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.kelidestan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.kelidestan.Activity1"
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>
باید یکی از دو کد زیر را به کدهای نوشته شده برای activity اضافه کنیم :
android:configChanges="orientation|keyboardHidden"
یا :
android:configChanges="orientation|keyboardHidden"
هر یک از این دو کد، تعیین می کند که آن activity ، همیشه در حالت landscape نمایش داده شود یا اینکه همیشه در حالت portrait .
این بخش از کدها، قسمتی از کدهای activity است که می خواهیم آن را تغییر بدهیم :
android:name="com.example.kelidestan.Activity1"
android:label="@string/app_name" >
این کدها را به صورت زیر تغییر می دهیم :
android:name="com.example.kelidestan.Activity1"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden" >
بنابراین، activity مورد نظر، همیشه به صورت portrait نمایش داده خواهد شد.
ایجاد امکان چرخش 180 درجه ای :
در مواردی که ذکر کردیم، چرخش 180 درجه ای امکان پذیر نمی باشد. چنانچه بخواهیم که چرخش 180 درجه ای نیز امکان پذیر باشد، باید برای حالت افقی (landscape)، کد زیر را بنویسیم (به جای landscape ، عبارت sensorLandscape نوشته می شود) :
android:configChanges="orientation|keyboardHidden"
سلام
چطوری میشه جلوگیری کنی ازساخته شدن اپ کمپت همراه با ایجاد یک پروژه جدید؟
یا وقتی که ایجاد شد ، چه جوری پاکش کنیم که توی کد ها اشکال پیش نیاد؟