انجمن سایت کلیدستان



مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)زمان کنونی: ۱۳۹۵/۰۹/۱۴، ۰۸:۴۹ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: دیب دمینی
آخرین ارسال: دیب دمینی
پاسخ 5
بازدید 975

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)

مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)

#1
با سلام 
دوستان مشکلی که تو پروژه م پیش اومده اینه که ویو هایی که کنار هم تو یه ردیف هستند توی صفحه نمایش هایی با ابعاد مختلف خوب با اندازه صفحه مچ نمیشه علیرغم این که از مقیاس dp برای تعیین ابعاد ویو ها استفاده کردم مثل عکس های زیر:
نمیدونم مشکل از رزولیشن صفحه هست یا ابعاد صفحه 


فایل‌های پیوست

عکس(ها)
           
پاسخ

مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)

#2
برای برسی باید لی اوت مربوطه را بگذارید !!
پاسخ
 سپاس شده توسط دیب دمینی ، admin

مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)

#3
ببخشید یادم رفت !

کد پی‌اچ‌پی:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:background="#006ad0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top">
        <EditText
            android:maxHeight="200dp"
            android:layout_marginStart="10dp"
            android:layout_marginLeft="10dp"
            android:hint="چیزی بنویسید . . ."
            android:layout_width="270dp"
            android:layout_height="wrap_content"
            android:id="@+id/et"/>
        <Button
            android:layout_marginStart="10dp"
            android:layout_marginLeft="10dp"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:id="@+id/btn1"
            android:text="تایید"
            android:onClick="onClickBtn"
            android:background="#006ad0"/>
    </LinearLayout>
</LinearLayout> 
 
پاسخ

مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)

#4
دوست عزیز خب عملا نباید هم مچ بشه .شما از واحد dp  استفاده کردید.خب واحد dp میاد تا حدی مشکلات pixel رفع میکنه.ولی کارش این نیست که بیاد با صفحه شما ویوها رو مچ کنه.
خب شما اگر توجه کنید برای edittext  چه مقداری رو برای width قرار دادید؟270 .خب اگر یک صفحه در حالت landscop مثلا 800 باشه.270 تا به آن اختصاص داده میشه.60 هم برای دکمه قرار دادید.میشه 360 تا..حدود 440 dp خالی میمونه. مثل تصویر دوم که ضمیمه کردید.
نباید به این صورت شما پهنا بدید.
بیشتر سعی کنید از wrap_content استفاده کنید.بعدش بهش وزن بدید.یعنی پهنای ادیت تکست و دکمه رو کنید wrap_content .
یعنی به اندازه حجم خودشون.
حالا واسه اینکه قسمت فضای خالی رو پوشش بدید از وزن دهی استفاده کنید.

کد پی‌اچ‌پی:
android:layout_weight="" 

این دستور میگه فضای خالی رو به نسبت وزن ویوها تقسیم کن.مثلا اگر برای دکمه بزارید1 و برای ادیت تکست بزارید 4.
این به این معنی هست.که فضای خالی تقسیم میشه بین اون دو ویو.و ادیت تکست 4 برابر دکمه فضا رو مال خودش میکنه.
کد شما به صورت زیر میشه ویراش شه.

کد پی‌اچ‌پی:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:background="#006ad0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top">
        
        <EditText
            android:maxHeight="200dp"
            android:layout_marginLeft="10dp"
            android:hint="چیزی بنویسید . . ."
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:id="@+id/et"/>
        <Button
            android:layout_marginLeft="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:id="@+id/btn1"
            android:text="aaaa"
            android:layout_weight="4"
            android:onClick="onClickBtn"
            android:background="#006ad0"/>
    </LinearLayout>
</LinearLayout> 
 
پاسخ
 سپاس شده توسط دیب دمینی ، admin

مشکل نمایش view ها در صفحه نمایش های مختلف (در برنامه نویسی اندروید)

#5
ممنون از جوابت
یعنی با این کار فضای خالی با نسبت 10 به 4  بین ویوها تقسیم میشه؟
 
پاسخ
 سپاس شده توسط داش بهروز


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)