كيف يمكنني تحديد تخطيطات مختلفة لتوجهات الصورة والمناظر الطبيعية؟

StackOverflow https://stackoverflow.com/questions/2124046

سؤال

لقد رأيت إشارات إلى القدرة على تحديد ملفين XML منفصلان للنشاط ، أحدهما للتصوير وواحد للمناظر الطبيعية. لم أذهب إلى العثور على أي معلومات حول كيفية القيام بذلك. كيف يمكنني تحديد كل نشاط هو ملف XML هو تخطيط صورة وأيها تخطيط المناظر الطبيعية؟

هل من الممكن أيضًا تحديد تخطيطات مختلفة لأحجام الشاشة المختلفة؟ اذا هو كذلك، كيف يعمل هذا؟

هل كانت مفيدة؟

المحلول

إنشاء layout-land الدليل ووضع نسخة المشهد من ملف XML تخطيطك في هذا الدليل.

نصائح أخرى

عليك فقط وضعه تحت مجلدات منفصلة بأسماء مختلفة حسب الاتجاه والدقة ، وسيقوم الجهاز تلقائيًا بتحديد الجهاز المناسب لإعدادات الشاشة الخاصة به

مزيد من المعلومات هنا:

http://developer.android.com/guide/practices/screens_support.html

تحت "مؤهلات دليل الموارد لحجم الشاشة وكثافة"

لعشاق الماوس! أقول انقر بزر الماوس الأيمن على مجلد الموارد و Add new resource file, ومن المؤهلات المتاحة حدد orientation :

enter image description here


ولكن لا يزال بإمكانك القيام بذلك يدويًا عن طريق القول ، وإضافة "Layout-Land" للمجدول الفرعي إلى

"الخاص بك الدليل app src main res"

ومنذ ذلك الحين ، سيعمل أي ملف تخطيط. تلقائيا.

استخدم "تخطيط المنفذ" لوضع الصورة.

فقط للتذكير:

إزالة orientation من android:configChanges تنسب للنشاط في بيانك xml ملف إذا حددته:

android:configChanges="orientation|screenLayout|screenSize"

إنشاء دليل جديد layout-land, ، ثم إنشاء xml ملف بنفس الاسم في layout-land كما كان layout الدليل ومحاذاة المحتوى الخاص بك لوضع المناظر الطبيعية.

لاحظ أن معرف المحتوى في كليهما xml هو نفسه.

أو استخدم هذا:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:scrollbars="vertical" 
            android:layout_height="wrap_content" 
            android:layout_width="fill_parent">

  <LinearLayout android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

     <!-- Add your UI elements inside the inner most linear layout -->

  </LinearLayout>
</ScrollView>

أعتقد أن أسهل طريقة في أحدث إصدارات Android هي الذهاب إلى وضع تصميم XML (وليس النص).

ثم من القائمة ، حدد الخيار - إنشاء تباين المناظر الطبيعية. سيؤدي ذلك إلى إنشاء مشهد XML دون أي متاعب في بضع ثوان. يتيح لك أحدث إصدار من Android Studio إنشاء طريقة عرض للمناظر الطبيعية على الفور.

enter image description here

آمل أن يكون هذا يصلح لك.

السطر الأخير أدناه هو مثال لتطبيق اثنين من الكميات: المناظر الطبيعية وأصغر عرض(600dp) الشاشة. تحديث 600dp مع تلك التي تحتاجها.

res/layout/main_activity.xml                # For handsets
res/layout-land/main_activity.xml           # For handsets in landscape
res/layout-sw600dp/main_activity.xml        # For 7” tablets
res/layout-sw600dp-land/main_activity.xml   # For 7” tablets in landscape

ما ورد أعلاه ينطبق على Dimens أيضًا

res/values/dimens.xml                # For handsets
res/values-land/dimens.xml           # For handsets in landscape
res/values-sw600dp/dimens.xml        # For 7” tablets
res/values-sw600dp-land/dimens.xml   # For 7” tablets in landscape

مقاييس الجهاز المفيدة: https://material.io/tools/devices/

  1. انقر بزر الماوس الأيمن على مجلد الدقة ،
  2. جديد -> ملف موارد Android
  3. في التصفيات المتاحة ، حدد الاتجاه ،
  4. إضافة إلى التصفيات المختارة
  5. في اتجاه الشاشة ، حدد المناظر الطبيعية
  6. اضغط موافق

باستخدام Android Studio 3.4.1 ، لم يعد يخلق layout-land مجلد. سيقوم بإنشاء مجلد ووضع ملفين تخطيط معًا.

enter image description here

أسرع طريقة لنظام Android Studio 3.xx

1. توصل إلى علامة تبويب تصميم تخطيط النشاط

2. في الجزء العلوي الذي يجب عليك الضغط عليه على زر المعاينة ، هناك خيار لإنشاء تخطيط للمناظر الطبيعية (تحقق من الصورة) ، وسيتم إنشاء مجلد جديد كملف تخطيط XML لهذا الاتجاه بالذات

enter image description here

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top