rotate یا چرخش در اندروید
سلام دوستان امروز میخواهیم به rotate یا چرخش در اندروید بپردازیم شاید بار ها در برنامه ها دیده باشید که با چرخاندن گوشی یا تحت شرایط خاصی لایوت برنامه حالت افقی پیدا میکند.
در اموزش های قبلی به چرخش عکس در اندروید پرداختیم که میتوانید از اینجا مشاهده کنید.
بدون صحبت بیشتر سراغ اموزش می رویم.برای اینکار ما از دستور setRequestedOrientation استفاده میکنیم که عملیات چرخش به روش های مختلف را انجام می دهد.ابتدا کد هامون رو مینوسیم سپس به بررسی ان میپردازیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button1=(Button)findViewById(R.id.button); Button button2=(Button)findViewById(R.id.button2); Button button3=(Button)findViewById(R.id.button3); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } }); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER); } }); } } |
خب ابتدا دو تا button در برناممان قرار دادیم برای چرخش لایوت به حالت افقی و عمودی.همانطور که اشاره کردیم از دستور setRequestedOrientation استفاده میکنیم و در ادامه تنها بخشی از کدمان تفاوت داره که شامل موارد زیر است:
SCREEN_ORIENTATION_PORTRAIT: برای چرخش به حالت عمودی استفاده می شود.
SCREEN_ORIENTATION_LANDSCAPE: برای چرخش به حالت افقی استفاده می شود.
در کد بالا دیدیم که با زدن دکمه اسکرین ما چرخش پیدا میکند اما شاید بخواهیم اتوماتیک با چرخش گوشی این اتفاق بیوفتد.برای اینکار از دستورات زیر میتوانیم استفاده کنیم:
SCREEN_ORIENTATION_USER: زمانی این دستور کار میکند که در تنظیمات گوشی حالت چرخش فعال باشد.
SCREEN_ORIENTATION_SENSOR: اگر بخواهید چرخش توسط خود کاربر بدون توجه به تنظیمات گوشی انجام شود از این کد استفاده میکنیم.
این اموزش هم به پایان رسید دیدیم که به چه راحتی میتوانیم این کار را انجام دهیم فقط با چند خط کد.
موفق باشید.