ریسپانسیو کردن لایه ها در اندروید
یکشنبه 26 شهریور 1396در این مقاله قصد داریم به شما توضیح دهیم که چگونه یک لایه را ریسپانسیو کرد که کاربرعلاوه برگوشی موبایل آن را در صفحه تبلت خود ببیند .برای این یک نمونه سورس برای شما قرار می دهیم.
برای این که بتوان یک لایه را به صورت ریسپانسیو در اورد ما در این جا از تابع WindowManager() استفاده کردیم.
زمانی که شما از تبلت استفاده می کنید به همان اندازه و زمانی که از گوشی استفاده می کنید به همان اندازه در می آورد.
کد کلاس جاوا به صورت زیر است:
package com.android_examples.com.layoutmultiplesupport; import android.app.Activity; import android.os.Bundle; import android.view.Display; import android.view.WindowManager; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowManager winManager = getWindowManager(); Display display = winManager.getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); if(width > height) { // Tablet layout called automatically in this If condition. setContentView(R.layout.activity_tablet_device); } else { // Normal Phone layout called automatically in this else condition. setContentView(R.layout.activity_normal_main); } } }
در لایه ی هم باید از کد زیر استفاده کرد:
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.android_examples.com.layoutmultiplesupport.MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="Normal device Layout" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout>
زمانی که می خواهید از دستگاه تبلت استفاده کنید:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="Tablet Device Layout" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout>
خروجی کار به صورت زیر خواهد بود:
- Android
- 4k بازدید
- 3 تشکر