آموزش به دست آوردن اندازه گوشی در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش به دست آوردن اندازه گوشی در اندروید می پردازیم شاید بپرسید به چه کاری می آید شما بعد از اینکه اندازه هر گوشی را به دست آوردید می توانید مکان قرار گیری هر view یا object را تنظیم کنید در بعضی از آموزش های سایت از کد هایی که در ادامه برای شما قرار میدم استفاده کرده ایم امروز آن را توصیح خواهیم داد در ادامه با ما همراه باشید.
ابتدا فرض می کنیم یک layout به نام activity_main.xml داریم و کدهای زیر را در آن قرار میدهیم (چیزی قرار نگرفته است همان Hello Word همشگی است !)
1 2 3 4 5 6 7 8 9 10 11 12 | <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <TextView android:id="@+id/text_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello Word ! Programch.ir" /> </RelativeLayout> |
سپس وارد MainActivity.java شده و کدهای زیر را در آن قرار دهید.
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.content.res.Configuration; import android.graphics.Point; import android.view.Display; import android.view.Menu; import android.widget.TextView; import android.widget.Toast; @SuppressLint("NewApi") public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; int height = size.y; TextView text = (TextView) findViewById(R.id.text_id); text.setText("Width :" + String.valueOf(width) + " Height :" + String.valueOf(height)); int screenSize = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK; switch (screenSize) { case Configuration.SCREENLAYOUT_SIZE_LARGE: Toast.makeText(this, "Large screen", Toast.LENGTH_LONG).show(); break; case Configuration.SCREENLAYOUT_SIZE_NORMAL: Toast.makeText(this, "Normal screen", Toast.LENGTH_LONG).show(); break; case Configuration.SCREENLAYOUT_SIZE_SMALL: Toast.makeText(this, "Small screen", Toast.LENGTH_LONG).show(); break; default: Toast.makeText(this, "Screen size is neither large, normal or small", Toast.LENGTH_LONG).show(); } } } |
در بالا با استفاده از کلاس Display یک Instance ازش میگریم و سپس با استفاده از ویژگی getSize اندازه طول و عرض گوشی را به px به دست میاریم هر گوشی یک اندازه تصویری مشخص دارد برای اینکه این اندازه را به دست بیاریم از SCREENLAYOUT_SIZE_MASK استفاده کردیم و سپس در آن switch کرده تا اندازه گوشی ها مختلف را بتوانیم به دست بیاریم به طور مثال SCREENLAYOUT_SIZE_LARGE برای تبلت ها و گوشی های بالا پنچ اینچ Toast با عنوان Large screen نمایش داده می شود و الی آخر و در آخر default هم برای گوشی های است که اندازه مشخصی نداند مانند برند های asus , xiaomi .
این آموزش هم به پایان رسید.
موفق و پیروز باشید.