كيف أعرض عناصر التحكم في وضع ثابت لمختلف قرارات الشاشة في Android؟

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

  •  20-09-2019
  •  | 
  •  

سؤال

كيف أعرض عناصر التحكم في وضع ثابت لمختلف قرارات الشاشة في Android؟

لدي تصميم على الشاشة مثل أدناه

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:gravity="center_horizontal"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical"
   android:background="@drawable/img_background_loadbackground">
<TableRow>
<TextView
   android:id="@+id/tv1"
   android:layout_width="fill_parent" 
   android:layout_height="300sp"/>
</TableRow>

<TableRow>
</TableRow>
<ProgressBar 
   android:id="@+id/progressbar" 
   style="?android:attr/progressBarStyleHorizontal" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" />
</TableLayout>

إنه يعمل بدقة HVGA (320 × 480) ، ويظهر شريط التقدم في أسفل الشاشة ، ولكن إذا قمت بتشغيل دقة أخرى (WQVGA432 - 240X432) يظهر شريط التقدم في منتصف الشاشة. أنا غير قادر على إظهاره في وضع ثابت.

أنا أستخدم عرض ملف البيان أدناه ولكن لا يوجد إخراج

<supports-screens android:smallScreens="true"  
                android:normalScreens="true" 
                android:largeScreens="true"  
                android:anyDensity="true" />

ليس لدي حل ، لذا من فضلك أعطني فكرة لحل المشكلة.

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

المحلول

إذا كنت تريد أن تعمل تخطيطاتك على شاشات دقة مختلفة ، فيجب أن تكون تحجيمها باستخدامها باستخدامها dip كوحدة. فمثلا:

android:layout_marginRight="10dip"

dip تعني البكسل المستقل للجهاز واستخدامها في تخطيطك أن Android سيقوم تلقائيًا بتوسيع تخطيطك اعتمادًا على عرض الجهاز الذي يقوم بتشغيل التطبيق الخاص بك.

يمكنك أن تقرأ عن هذه في دعم شاشات متعددة صفحة في وثائق مطور Android. يحتوي هذا المستند أيضًا على بعض الخيارات الأخرى للتعامل مع شاشات العرض المختلفة ولكن أعتقد استخدامها dip ربما أسهل.

نصائح أخرى

يعتمد ذلك على كيفية تحديد تخطيطك: سيساعد نشر تخطيطك XML هنا.

أعتقد أنه إذا كان لديك شيء مثل:

android:layout_gravity="center"

ولكن نعم ، سيكون نشر XML الخاص بك مساعدة قليلاً!

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